我有问题当我写一些消息'abc'我对数据库'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));
}
}
答案 0 :(得分:1)
您应该使用Unicode转换格式:UTF-8
<String>.getBytes(Charset.forName("UTF-8"))
答案 1 :(得分:0)
getBytes():此方法使用平台的默认字符集将此String编码为字节序列,将结果存储到新的字节数组中。
您的平台字符集可能与数据库使用的字符集不同。