代码之家  ›  专栏  ›  技术社区  ›  ankuru10

在Mysql中放入encodeBase64消息当我收到此消息时,我会得到不同的结果

  •  2
  • ankuru10  · 技术社区  · 7 年前

    当我在数据库UDHG&中写入一些信息“abc”时,我遇到了问题; #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 回复  |  直到 7 年前
        1
  •  2
  •   Ihor Horovyi    7 年前

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

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

        2
  •  0
  •   Gerard de Jong    7 年前

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

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