曾经以为在mysql里面把所有的有关字符集编码的都设为utf8编码就可以解决mysql的乱码问题,但不幸的是
在mysql的控制台显示中文的时候,这些汉字还是会乱码,以前还以为是my.ini里的设置不够彻底,于是今天寻根究底,发现原来要将客户端的字符集设为GBk才可以解决mysql的中文乱码问题......
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+--------------------------------------+
| Variable_name | Value |
+--------------------------+--------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL\share\charsets\ |
+--------------------------+--------------------------------------+
所有字符几乎的都设为utf8,但是在mysql控制台看到的依然是乱码
于是来一次本质的回归把
mysql> set character_set_results='gbk'; #将编码改为gbk
再来显示一下中文
mysql> select * from student;
+----+--------+-----------+
| id | name | classesnum |
+----+--------+-----------+
| 1 | 欧阳锋 | 1 |
| 2 | 洪七公 | 1 |
+----+--------+-----------+
---谁有这么牛的学生可真够狠的,哈哈。。。不过mysql的控制台的中文乱码问题解决了
mysql数据库的编码问题 MySQL 5.0存储过程编程
/////////////////////////////////////////////////////////////////////////////////////////////
今天发现如果用set names 'gb2312'或set names 'gbk'命令比set character_set_results='gbk'命令更全面的解决乱码问题。