我有问题,当我写一些信息''我有价值的数据库'udhg&#bdldd'但当我红和解码这个消息,我有'???'*
@Entity
public class Message {
@Id
private Integer id;
@Column
private String message;
@Column(name = "message")
public String getMessage() {
return String(Base64.encodeBase64(message.getBytes())) : null;
}
@JsonIgnore
public void setMessage(String message) {
byte[] base64 = message.getBytes();
this.body = new String(Base64.decodeBase64(base64));
}
}
2条答案
按热度按时间lawou6xi1#
getbytes():此方法使用平台的默认字符集将此字符串编码为字节序列,并将结果存储到新的字节数组中。
可能与数据库使用的平台字符集不同。
ppcbkaq52#
您应该使用unicode转换格式:utf-8
<String>.getBytes(Charset.forName("UTF-8"))