因为测试的缘故,手机端向后台数据库插入了一条数据,其中带有中文的全部乱码,显示为???,究竟怎么回事呢?
一般出现这种情况,先执行show variables like 'character%,查询一下数据库字符编码设置
显示数据如下:
Variable_name Value
character_set_client utf8
character_set_connector utf8
character_set_database utf-8
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
不难看出有好几处都涉及到字符集的设置 其中与服务器有关的:database,server,system(无法修改,就是utf8)
与客户端相关的就是:client,results,connection
此处server的编码需要修改为utf8
具体解决策略如下:
1.找到mysq安装目录下面的my.ini文件,修改改配置文件即可
2.[mysql]:
- default-character-set=utf8
[mysqld]:
- character-set-server=utf8
- 此处与服务端相关