近期想体验下mysql5.7的json类型字段,发现了在各端显示中文数据乱码的问题;
通过查询资料,发现归根结底是旧版本的连接驱动尚不支持json类型;
当然,首先在插入数据库时保证插入的json中文为UTF-8,且数据库字符集设置也为UTF-8
以下为这两天踩的坑,分享下:
1.java项目中,插入时填的是utf8中文,查询的json类型数据中文乱码
解决方案:
更新mysql的mysql-connector-java版本为5.1.40或以上
操作步骤:
a)更新mysql的mysql-connector-java版本为5.1.40或以上
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.40</version>
</dependency>
2.DbVisualizer工具中,查询出的json类型数据中文乱码
解决方案:
更新mysql的mysql-connector-java版本为5.1.40或以上
操作步骤:
a)先下载驱动jar,下载链接mysql-connector-java(v5.1.40)
b)打开工具选择Tools->Driver Manager
c)选择本地下载好的mysql的驱动jar包,选好后保存重新连接数据库即可
3.navicat for mysql工具中,json类型的列无法显示出来
解决方案:
升级至至少11.2.7版本
操作步骤:
点击下载链接下载安装即可,下载navicat for myslq 11.2.x-正版