【问题标题】:Put encodeBase64 message in Mysql when I get this message I have different result当我收到此消息时,将 encodeBase64 消息放入 Mysql 我有不同的结果
【发布时间】:2018-04-19 17:19:35
【问题描述】:

我在写一些消息“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));
    }
}

【问题讨论】:

    标签: java mysql database java-8


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-03
        • 2017-11-10
        相关资源
        最近更新 更多