MySql乱码

 今天使用DBUtils操作Mysql插入数据,结果乱码,数据库是utf8的。

 --show variables like 'character%';  查看数据库编码

+--------------------------+-----------------------------------------------+
| Variable_name            | Value                                         |
+--------------------------+-----------------------------------------------+
| character_set_client     | gbk                                           |
| character_set_connection | gbk                                           |
| character_set_database   | latin1                                        |
| character_set_filesystem | binary                                        |
| character_set_results    | gbk                                           |
| character_set_server     | latin1                                        |
| character_set_system     | utf8                                          |
| character_sets_dir       | c:\wamp\bin\mysql\mysql5.5.24\share\charsets\ |
+--------------------------+-----------------------------------------------+

说明client connection results 都是gbk的。导致工程里插入utf8字符串也乱码。

随后使用

--set names utf8;   将client connection results设置为了utf8.运行java工程插入后还是乱码。 因为这个更改只是更改了这个dos窗口连接的编码方式,不是整个mysql的。

最终使用:?useUnicode=true&characterEncoding=utf8 追加到url后面即可指定本地连接的编码方式。

如:

jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=utf8

最终OK了。这也是个小知识吧。以后要记得。

原文地址:https://www.cnblogs.com/beenupper/p/2958259.html