我已经将MySQL的字符集设置为utf8mb4,它对于varchar类型很好,保存和读取汉字也很好。
但是当涉及到JSON类型时,保存很好,当使用将JSON作为字符串读取时,它会产生混乱的代码。
我试过下面的设置,它不起作用。
spring.datasource.url = jdbc:mysql://localhost:3306/TAIMIROBOT?&useUnicode=yes&characterEncoding=UTF-8
spring.datasource.init-sql="SET NAMES utf8mb4 COLLATE utf8mb4_bin;"发布于 2017-01-31 12:53:27
这个问题已经解决了。bugs.mysql.com/bug.php?id=80631
ResultSet.getString()有时返回JSON数据类型列的混淆数据。这是因为JSON数据是由MySQL使用utf8mb4字符集编码的二进制数据,而是由Connector/J使用ISO-8859-1字符集解码的。 此修复程序已包含在Connector/J 6.0.5中。5.1.40变更额的条目已列入6.0.5变更量。
如果您有同样的问题,只需将maven pom文件中的连接器版本更新为6.0.5 (如果使用maven)。
https://stackoverflow.com/questions/39092840
复制相似问题