Mysql中文数据变成问号的解决办法
作者:JoshuaGraham
mysql存进去的数据,有中文的字段变成了???的样式,所以本文给大家详细介绍了Mysql中文数据变成问号的解决办法,文中通过图文结合的方式讲解的非常详细,需要的朋友可以参考下
问题场景
mysql存进去的数据,有中文的字段变成了???的样式
问题分析
查看控制台,输入的sql语句是中文的,说明后台逻辑没有问题,在接口中取出数据
取出的数据是???,说明就是没存进去,不是类似二进制值的形式,不能转换为中文
从网上查找,大概有几种方法,没有解决我的问题,但也记录一下
1、将数据库编码改为utf-8
在navicat中右键数据库,编辑数据库
在这里修改字符集为utf-8
2、修改表和字段的字符集为utf-8
表的字符集不能后期可视化方式修改,用语句
ALTER TABLE "table_name" CONVERT TO CHARACTER SET utf8;
3、修改字段编码
在这里打开设计表
点击出现问题的字段,下面可以选字符规则
解决办法
在修改上述几项无效后,修改后台的配置数据库的部分,一般是url,我的是application.yml里的配置url里
在原来的语句中,如果有?,且?后有东西,就加个&然后在后面加
useUnicode=yes&characterEncoding=utf8
如果没有,就加个?再加上面那句
插入了中文,问题解决
最后
到此这篇关于Mysql中文数据变成问号的解决办法的文章就介绍到这了,更多相关Mysql中文数据变问号内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!