一、介绍Linux系统下,mysql中文乱码的解决方法。
在/etc/my.cnff文件中加上以下两行内容:
[client]
default-character-set=utf8
[mysqld]
default-character-set=utf8
这时,mysql系统,服务器、客户端、数据库、连接都使用utf8编码。可以用
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 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
第二步,在jdbc中的url结尾增加:
?characterEncoding=UTF8 (这步不加也可以,试试吧。)
这两步完成后,你用java编写的程序就能够正确读写mysql中文字符了。而且你用mysql客户端写入的中文数据也可正确读取!
需要注意的是,如果你在默认情况下,就建立好的数据库(create database %)可能要在上面的设置环境中重启mysql服务器后,重新建立数据库才能正确读写中文字符!因此,这些配置应该在系统搭建之初就配置好!
一、 windows系统下mysql中文乱码的解决
在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可 打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8 保存并关闭。
重新启动mysql服务。