Rumah  >  Artikel  >  pangkalan data  >  【MySQL 04】命令行查询乱码问题

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

黄舟
黄舟asal
2017-02-04 11:47:241216semak imbas

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

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)!


Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn