解决MySql Command Line Client查询结果乱码问题

转自:http://blog.csdn.NET/lu8000/article/details/8928474


乱码问题: 

数据库MySQL,存储的是中文的内容用mysql Command Line Client 查看是乱码,但是用MySql Administrator查看却显示正确

先看数据库的相关编码

  1. mysql> show variables like 'character_set_%';  
  2. +--------------------------+---------------------------------------------------------+  
  3. | Variable_name            | Value                                                   |  
  4. +--------------------------+---------------------------------------------------------+  
  5. | character_set_client     | utf8                                                    |  
  6. | character_set_connection | utf8                                                    |  
  7. | character_set_database   | utf8                                                    |  
  8. | character_set_filesystem | binary                                                  |  
  9. | character_set_results    | utf8                                                    |  
  10. | character_set_server     | utf8                                                    |  
  11. | character_set_system     | utf8                                                    |  
  12. | character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |  
  13. +--------------------------+---------------------------------------------------------+  
查看数据库表数据出现乱码,首先 MySql Administrator查看却显示正确的,只是用MySql Command Line Client查看显示乱

  1. mysql> select * from student;  
  2. +----+------+------+  
  3. | id | name | age  |  
  4. +----+------+------+  
  5. |  1 | 涓?  |    4 |  
  6. +----+------+------+  
  7. 1 row in set (0.00 sec)  

问题分析,这个原因主要是受客户端的连接相关编码影响,下面三项

character_set_client
character_set_connection
character_set_results 

而这三项是可以通过set names utf8|set names gbk来可以设置的!另外也说明当前连接的客户端的编码情况没有影响到数据库服务器本身的编码情况。

  1. mysql> set names gbk;  
  2. Query OK, 0 rows affected (0.00 sec)  
  3.   
  4. mysql> show variables like 'character_set_%';  
  5. +--------------------------+---------------------------------------------------------+  
  6. | Variable_name            | Value                                                   |  
  7. +--------------------------+---------------------------------------------------------+  
  8. | character_set_client     | gbk                                                     |  
  9. | character_set_connection | gbk                                                     |  
  10. | character_set_database   | utf8                                                    |  
  11. | character_set_filesystem | binary                                                  |  
  12. | character_set_results    | gbk                                                     |  
  13. | character_set_server     | utf8                                                    |  
  14. | character_set_system     | utf8                                                    |  
  15. | character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |  
  16. +--------------------------+---------------------------------------------------------+  
  17. rows in set (0.00 sec)  
  18.   
  19. mysql> select * from student;  
  20. +----+------+------+  
  21. | id | name | age  |  
  22. +----+------+------+  
  23. |  1 | 上     |    4 |  
  24. +----+------+------+ 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值