热线电话:13121318867

登录
2018-10-17 阅读量: 1259
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
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子