[b]一,mysql[/b]
mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------------+
| 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 | D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)
我用hibernate存入的数据是utf-8编码的,但是用mysql自带的控制台查看时出现了乱码
如果我插入的是“杨志斌”则:
+----+-----------+
| id | name |
+----+-----------+
| 1 | 鏉ㄥ織鏂? |
+----+-----------+
但是使用:mysql>set names gbk;然后查看就能显示正确
+----+--------+
| id | name |
+----+--------+
| 1 | 杨志斌 |
+----+--------+
[b]我想问问是不是windowsxp上mysql自带的控制台不能显示utf-8的编码?[/b]
[b]问题补充:[/b]
我插入的数据我可以保证是utf-8的,而不是gbk的(我是用hibernate插的)
而且,在mysql的控制台里如果显示为
mysql> show variables like '%char%';
+--------------------------+---------------------------------------------------------+
| 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 | D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+---------------------------------------------------------+
这种情况下,是不能在控制台里insert中文的,
有没有高手帮我解决一下
mysql的控制台是比较弱,对于非GBK编码的表和字段在控制台中查看时就是乱码。主要原因是因为使用mysql控制台连接时会默认设置编码为当前系统编码,所以必须使用set names charsetname进行调整。不过还是用管理工具好一点。
可以 你相爱你在用gbk才能正确显示 是因为你插入数据的时候是gbk的
换句话说
你先执行
set names utf8
再插入
再select (注意现在还是utf8环境的)
就可以正常显示你刚刚插入的数据了
也就是说 用什么编码能显示 取决于你用什么编码进行插入数据
mysql的控制台是比较弱,对于非GBK编码的表和字段在控制台中查看时就是乱码,也不能更新和插入,最好的办法是使用专门的管理工具,比如sqlyog或者是mysql GUI Tools中的Query工具。