解决MySql Command Line Client查询结果乱码问题
2016-03-11 14:43
866 查看
转自:http://blog.csdn.net/lu8000/article/details/8928474
乱码问题:
数据库是MySql,存储的是中文的内容用MySql Command Line Client 查看是乱码,但是用MySql Administrator查看却显示正确
先看数据库的相关编码
[sql]
view plain
copy
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:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+
查看数据库表数据出现乱码,首先MySql Administrator查看却显示正确的,只是用MySql Command Line Client查看显示乱
[sql]
view plain
copy
mysql> select * from student;
+----+------+------+
| id | name | age |
+----+------+------+
| 1 | 涓? | 4 |
+----+------+------+
1 row in set (0.00 sec)
问题分析,这个原因主要是受客户端的连接相关编码影响,下面三项
character_set_client
character_set_connection
character_set_results
而这三项是可以通过set names
utf8|set names gbk来可以设置的!另外也说明当前连接的客户端的编码情况没有影响到数据库服务器本身的编码情况。
[sql]
view plain
copy
mysql> set names gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'character_set_%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)
mysql> select * from student;
+----+------+------+
| id | name | age |
+----+------+------+
| 1 | 上 | 4 |
+----+------+------+
乱码问题:
数据库是MySql,存储的是中文的内容用MySql Command Line Client 查看是乱码,但是用MySql Administrator查看却显示正确
先看数据库的相关编码
[sql]
view plain
copy
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:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+
查看数据库表数据出现乱码,首先MySql Administrator查看却显示正确的,只是用MySql Command Line Client查看显示乱
[sql]
view plain
copy
mysql> select * from student;
+----+------+------+
| id | name | age |
+----+------+------+
| 1 | 涓? | 4 |
+----+------+------+
1 row in set (0.00 sec)
问题分析,这个原因主要是受客户端的连接相关编码影响,下面三项
character_set_client
character_set_connection
character_set_results
而这三项是可以通过set names
utf8|set names gbk来可以设置的!另外也说明当前连接的客户端的编码情况没有影响到数据库服务器本身的编码情况。
[sql]
view plain
copy
mysql> set names gbk;
Query OK, 0 rows affected (0.00 sec)
mysql> show variables like 'character_set_%';
+--------------------------+---------------------------------------------------------+
| Variable_name | Value |
+--------------------------+---------------------------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set (0.00 sec)
mysql> select * from student;
+----+------+------+
| id | name | age |
+----+------+------+
| 1 | 上 | 4 |
+----+------+------+
相关文章推荐
- mysql found_rows函数
- mysql中 show index from tb_name命令各列的含义
- 黄聪:MYSQL使服务器内存CPU占用过高问题的分析及解决方法
- 用mysql查询某字段是否有索引
- 开启Mysql远程访问权限
- MySQL show status参数详解
- mysql数据库FULLTEXT索引的用法和作用
- mysql数据库如何创建索引
- MySQL增量备份
- mysql去掉重复值的简单方法
- spark rdd转dataframe 写入mysql的示例
- MySQL 主键与索引的联系与区别分析
- mysql 查询一张表没有存在在另一张表的数据
- MYSQL数据库隔离级别分析
- mysql in 子查询 效率慢 优化
- mysql中or和in的效率问题
- mysql删除数据库
- mysql 主主配置
- 解决Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future:
- 转:MySQL 的show processlist