应用场景

MySql版本:5.7

数据库中字段为 json类型,存储一些 json 字符串。(后来发现5.7版本json类型的字段有问题,改成 LongText ,之后的代码能正常并不需要调整)

应用层面使用 JSON处理器 JacksonTypeHandler 来将 json 字符串转化为对应类型。

示例

数据库字段示例

创建json对应实体类

各实体类

测试新增

测试查询

返回结果:

问题:有乱码,后续继续解决乱码问题。

解决中文乱码问题

如上图测试所示,json字段类型中文乱码。

查了一些资料,基本上是因为字符编码问题产生的。我的mysql 为 5.7。数据库及表的字符编码类型都是 utf8mb4,应用层面数据库连接字符串编码为 

characterEncoding=UTF-8

从数据库客户端查看已然是乱码了,读出来也是乱码。

在不升级mysql  版和不修改代码的前提下,将 字段类型 由 json 调整成 LongText,问题解决。

数据库层面不乱码,测试界面读出来也不乱码。

参考资料:https://download.csdn.net/blog/column/9580461/103906020

---------------------------------------------------------------------------------------------------------------------------------

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐