首页  >  文章  >  数据库  >  【MySQL 04】命令行查询乱码问题

【MySQL 04】命令行查询乱码问题

黄舟
黄舟原创
2017-02-04 11:47:241205浏览

首先,将乱码显示显式出来,主要是中文乱码:

796.jpg

第一步:找到安装mysql的目录找到 my.ini 文件;

797.jpg

第二步:使用记事本打开my.ini文件,将默认编码设置为utf-8:

798.jpg

第三步:在mysql数据库cmd中输入:show variables like’%char%’;

799.jpg

第四步:改变原有数据库的编码方式:

800.jpg

第五步:改变后的编码方式:

801.jpg

第六步:重新查询:

802.jpg

MySQL中涉及的几个字符集

character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 
character-set-database:数据库字符集。 
character-set-table:数据库表字符集。 
优先级依次增加。所以一般情况下只需要设置character-set-server,而在创建数据库和表时不特别指定字符集,这样统一采用character-set-server字符集。 
character-set-client:客户端的字符集。客户端默认字符集。当客户端向服务器发送请求时,请求以该字符集进行编码。 
character-set-results:结果字符集。服务器向客户端返回结果或者信息时,结果以该字符集进行编码。 
在客户端,如果没有定义character-set-results,则采用character-set-client字符集作为默认的字符集。所以只需要设置character-set-client字符集。

要处理中文,则可以将character-set-server和character-set-client均设置为GB2312,如果要同时处理多国语言,则设置为UTF8。

关于MySQL的中文问题

解决乱码的方法是,在执行SQL语句之前,将MySQL以下三个系统参数设置为与服务器字符集character-set-server相同的字符集。 
character_set_client:客户端的字符集。 
character_set_results:结果字符集。 
character_set_connection:连接字符集。 
设置这三个系统参数通过向MySQL发送语句:set names gb2312

以上就是 【MySQL 04】命令行查询乱码问题的内容,更多相关内容请关注PHP中文网(www.php.cn)!


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn