MySql中文乱码问题(3),mysql中文乱码
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服务
你那个 mysql 版本多少啊?
我用 mysql 4.x 的时候, 设置好 utf8 以后, 是 C# 程序可以 正常 读写 汉字信息。
但是用 mysql 客户端看到的是乱码
后来用到一个 mysql-5.6.13-winx64 版本的时候, 倒是可以 C# 程序可以 正常 读写 汉字信息。
mysql 客户端看到的也正常了。
PHP与MYSQL开发,乱码问题,要注意三个地方。
连接数据库的字符集设置。
数据表本身的字符集设置。
页面meta的字符集设置。
以你的情况分析,
cmd命令行窗口是否为utf8(一般windows下命令行,窗口,并不是utf8,注意下这点)
连接时是否用的utf8
数据表是否为utf8
www.gretheer.com