收到此消息时,在Mysql中输入encodeBase64消息我有不同的结果

时间:2018-04-19 17:19:36

标签: java mysql database java-8

我有问题当我写一些消息'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));
    }
}

2 个答案:

答案 0 :(得分:1)

您应该使用Unicode转换格式:UTF-8

<String>.getBytes(Charset.forName("UTF-8"))

答案 1 :(得分:0)

getBytes():此方法使用平台的默认字符集将此String编码为字节序列,将结果存储到新的字节数组中。

您的平台字符集可能与数据库使用的字符集不同。