mysql查询结果乱码

时间:2023-03-08 19:15:50

1.查询数据库结果乱码

mysql>   select doctitle,docpuburl from wcmdocument order by docpubtime desc limit 0,3;
+-----------+-------------------------------------------------------------+
| doctitle | docpuburl |
+-----------+-------------------------------------------------------------+
| 2016-???? | http://xxx/case_usa/case_uk_bk/1075572.shtml |
| 2016-???? | http://xxx/case_uk_bk/1075570.shtml |
| 444??333 | http://xxx/test/blog/1333090.shtml |
+-----------+-------------------------------------------------------------+
3 rows in set (0.00 sec)

2.通过show variables like 'character_set_%';命令查询发现字符集不是utf-8

mysql> show variables like 'character_set_%';
+--------------------------+----------------------------------------+
| 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 |
| character_sets_dir | /usr/local/mysql5.6.39/share/charsets/ |
+--------------------------+----------------------------------------+
8 rows in set (0.00 sec)

3.修改字符集为utf-8

mysql> set character_set_client=utf8;
Query OK, 0 rows affected (0.00 sec) mysql>
mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_connection=utf8;
Query OK, 0 rows affected (0.00 sec) mysql> set character_set_results=utf8;
Query OK, 0 rows affected (0.00 sec)

4.查询修改结果是否生效;

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 | /usr/local/mysql5.6.39/share/charsets/ |
+--------------------------+----------------------------------------+
8 rows in set (0.00 sec)

5.再次查询,解决乱码

mysql> select doctitle,docpuburl from wcmdocument order by docpubtime desc limit 0,3;
+-------------------+-------------------------------------------------------------+
| doctitle | docpuburl |
+-------------------+-------------------------------------------------------------+
| 2016-xx数据 | http://xxx/case_usa/case_uk_bk/1075572.shtml |
| 2016-xx数据 | http://xxx/case_uk_bk/1075570.shtml |
| 2016-xx数据 | http://xxx/test/blog/1333090.shtml |
+-------------------+-------------------------------------------------------------+
3 rows in set (0.00 sec)