2018-10-17
阅读量:
1197
Mysql中查询出的结果是乱码,怎么解决?
mysql中出现乱码是由于字符集没有设置为utf8,我们可以从以下几个方面来分析问题。
查看字符集设置的命令:
show variables like '%char%';
查看服务器端和客户端字符集的当前设置。
Mysql中涉及的几个字符集mysql服务器端有:
character-set-server/default-character-set:服务器字符集,默认情况下所采用的。
character-set-database:数据库字符集。
character-set-table:数据库表字符集。
优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。
Mysql客户端有:
character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。
character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。
在客户端,如果没有定义character-set-results,则采character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。
此问题是服务器默认字符集不是utf8且创建表时没有指定字符集导致的。通过命令set character_set-table=utf8; 就可以正常显示!
1.3283
5
0
关注作者
收藏
评论(0)
发表评论
暂无数据
推荐帖子
0条评论
0条评论
1条评论