mysql存储中文乱码

Posted Python,Docker,Linux

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql存储中文乱码相关的知识,希望对你有一定的参考价值。

表现

前端页面,封装到html里的中文可以显示,和后台相关的中文显示都是 ??? 。查看network请求,传参正常。

查看mysql编码,是utf8。再看连接数据库的JDBC设置,也是utf8。

解决

问了同事,把 /etc/mysql/conf.d/mysql.cnf 填充以下内容即可

[client]
default-character-set=utf8mb4

[mysql]
default-character-set=utf8mb4

[mysqld]
max_allowed_packet=500M
wait_timeout=2880000
interactive_timeout=2880000
character-set-client-handshake=FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

以上是关于mysql存储中文乱码的主要内容,如果未能解决你的问题,请参考以下文章

mysql存储乱码之编码问题

完美解决php+mysql汉字存储乱码问题

PHP+MySQL存储数据出现中文乱码的问题

数据库之-------Mysql(JDBC实现&解决存储乱码问题)

mysql存储中文乱码

linux修改配置文件解决mysql中文乱码和指定数据库存储引擎