MySql的客户端是在dos界面上,然而dos界面默认的字符集编码方式是:GBK
(1).MySql字符转换原理图
(2).查看服务器的所有编码方式:
>show variables like 'character%';
#设置客户端为GBK:
>set character_set_client=gbk;
#设置连接器使用UTF8
>set character_set_connection=utf8;
#如果有返回值,设置返回值的以GBK的编码方式:
>set character_set_results=gbk;
注意:这些仅仅限制于当前的dos黑屏界面,重启后又恢复原样了。如果想彻底改变,则进入MySql安装文件中,修改my.ini配置文件,找到client 中的:default_character_set=gbk;
(只修改客户端就行了)
(4)用set names gbk;(可以一次性的将这三种设置相同的格式)
(5)总结:理解上面的原理图后,因此解决乱码问题二种方案:
1>在当前MySQL客户端修改输入和输出的MySQL环境变量为GBK或GB2312(当前有效)
2>修改MySQL目录下的my.ini文件,将客户端的缺省编码方式改为GBK或GB2312,注意,需要重新启动MySQL服务