首页 > 代码库 > 通过linux远程连接mysql,查询结果中文为乱码小结
通过linux远程连接mysql,查询结果中文为乱码小结
首先本地办公环境为windows使用的是navicat连接的mysql
navicat连接mysql时查询结果正常
查看编码方式:
mysql> show variables like ‘%character%‘;
+--------------------------+--------------------------------+ | 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
说明服务器端设置正常
然后我又用linux远程连接mysql,查询结果中文乱码
再次查看编码方式:
mysql> show variables like ‘%character%‘;
+--------------------------+--------------------------------+ | Variable_name | Value | +--------------------------+--------------------------------+ | character_set_client | latin1 | | character_set_connection | latin1 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8
卧槽,部分编码方式怎么变成latin1了,迅速检查了下mysql服务器端配置文件编码配置,全都设置了utf8,没有问题
重启一下mysql服务器端,linux远程连接查询仍然为中文乱码
看来不是服务器问题,查询客户端版本
#rpm -qa mysql mysql-5.1.73-7.el6.x86_64
服务器端版本
mysql> select version(); +-----------+ | version() | +-----------+ | 5.6.25 | +-----------+ 1 row in set
看来是客户端版本过老了
解决方法:
1、每次查询前设置查询结果集编码为utf8 即set character_set_results=utf8
2、更新客户端版本
本文出自 “linux_cheng” 博客,请务必保留此出处http://6764097.blog.51cto.com/6754097/1880617
通过linux远程连接mysql,查询结果中文为乱码小结
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。