怎么解决MySQL后台不显示中文字符的问题?
我的数据库是UTF-8编码的,另外,详细的MYSQL编码配置如下 :
SQL code
mysql> show variables like "%char%";
+--------------------------+---------------------+
| Variable_name | Value |
+--------------------------+---------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | gbk |
| 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.1\share\charsets\ |
+--------------------------+---------------------+
8 rows in set (0.08 sec)
在页面中成功插入了中文,用MySQL Query Browser也能看到插入了中文,但是就在这个MySQL命令行下看不到中文,这怎么办?我不想把数据库转为gbk的!
------解决方案--------------------额 碰巧我用的也是MySQL 中文没出问题 参考下我的设置吧
character_set_client | gbk
|
character_set_connection | gbk
|
character_set_database | gbk
|
character_set_filesystem | binary
|
character_set_results | gbk
|
character_set_server | gbk
|
character_set_system | utf8
------解决方案--------------------那你可以把你插入中文的那个字段改成gbk试试看
alter table table_name
modify column_name default character set gbk
------解决方案--------------------
------解决方案--------------------http://zhangxuejie12.blog.163.com/blog/static/3639732220092194542238/
楼主看下这篇文章,看有没有帮助。
我是菜鸟,请多包涵
------解决方案--------------------
如果楼主set names gbk不行的话,估计是你开始的配置不对,但是数据库和表已经弄好了,即使你配置改回来可能已在数据库已经走上乱码的道回不来了。所以给一下几点建议:
1.顶你(呵呵)。
2.把数据库配置文件my.ini里面有两处default-character-set=latin改成utf8(不是utf-8)
3.新建数据库和表,表和表的每个字段的字符集全部选择utf8,字符集校对选择utf8_general_ci
直接在控制台建的话就这样吧create table tablename (cloumns) default character set utf8 collate utf8_general_ci;
4.控制台show variables like 'character_set_%'看character_set_client、character_set_connection、character_set_results这三个是不是utf8,是的话insert一下看怎么样。如果不行那至少你set names gbk即把上面三项改为gbk后应该可以了。
5.至于这个utf8为什么在控制台不能显示中文,你可以看下控制台的窗口属性,在选项标签下的当前代码页是936gbk,也就是说这个控制台本身就是gbk编码的。个人理解,这个内容“传递”过程中是要不断的进行编码转换的。
举个例子吧:
比如client为gbk,connection为utf8,results为gbk,数据库为big5,
当我发送一个insert语句,语句作为gbk代码,转为utf8代码(connection)再转为big5(database)然后执行插入数据库。
而运行一个select语句的时候,结果由big5转为utf8,再转为gbk,你得到gbk的结果。
因此最主要的是让client和results和你使用的客户端一致。
但是现在好像控制台本身就是gbk的,所以估计在控制台的话你只能指望用gbk了。这只是控制台和数据库之间的交互,你数据库本身是utf8的不会影响你使用。累累