mysql数据库中文乱码问题解决方法

首先介绍下我遇到的情况:
从JSP页面传到Action中的中文没有问题,保存的时候也是中文,保存结果在页面展现也是中文,但数据库里是乱码。导致该问题的原因是,数据库的编码有问题,修改数据库默认编码即可。
有两种方式可以修改:
第一种方式:
通过MySQL Server Instance Config Wizard修改。
在选择字符集页面,选择第三项,手动设置默认字符集,如图:

[img]http://dl.iteye.com/upload/attachment/275436/226a1569-00f7-347a-a436-87e0d897790d.jpg[/img]

第二种方式:
通过命令行修改。
首先使用命令查看mysql字符集,命令如下:
[quote]show variables like '%char%';[/quote]
[quote]
mysql> show variables like '%char%';
+--------------------------+----------------------------------------+
| Variable_name | Value |
+--------------------------+----------------------------------------+
| character_set_client | gbk |
| character_set_connection | gbk |
| character_set_database | gbk |
| character_set_filesystem | binary |
| character_set_results | gbk |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | /usr/local/mysql/share/mysql/charsets/ |
+--------------------------+----------------------------------------+
[/quote]

在查询结果中可以看到mysql 数据库系统中客户端、数据库连接、数据库、文件系统、查询
结果、服务器、系统的字符集设置.
在这里,文件系统字符集是固定的,系统、服务器的字符集在安装时确定,与乱码问题无关
乱码的问题与客户端、数据库连接、数据库、查询结果的字符集设置有关
*注:客户端是看访问mysql 数据库的方式,通过命令行访问,命令行窗口就是客户端,通
过JDBC 等连接访问,程序就是客户端.
我们在向mysql 写入中文数据时,在客户端、数据库连接、写入数据库时分别要进行编码转
换.
在执行查询时,在返回结果、数据库连接、客户端分别进行编码转换。

我这里是已经修改过的,如果哪个编码不正确,可以通过如下命令修改,然后就不会乱码了。
[quote]
set character_set_database = gbk;
[/quote]
展开阅读全文

没有更多推荐了,返回首页