导航

MySql乱码

Posted on 2013-03-13 21:01  曙光城邦  阅读(240)  评论(0编辑  收藏  举报

 今天使用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了。这也是个小知识吧。以后要记得。