关于MySQL5乱码以及其相关的可视化环境乱码问题

来源:互联网 发布:hydra软件免费下载 编辑:程序博客网 时间:2024/06/04 23:35

本人最近在做毕业设计,数据库用的是MySQL5.1,乱码问题花了我很多时间来解决。

1、安装数据库时,选择编码为utf8,如果不是可以到安装目录下更改。

打开D:\Program Files\MySQL\MySQL Server 5.1\my.ini(这是我的路径)
在[client]下面寻找default-character-set,然后将其值修改为:
default-character-set=utf8
若找不到default-character-set,加上上面一行即可。
[mysqld]同理:
default-character-set=utf8

2、所有页面编码都写作utf-8,因为支持国际化。

3、在struts.xml中加上:<constant name="struts.i18n.encoding" value="UTF-8"></constant>

4、连接字符串:jdbc:mysql://localhost:3306/house?useUnicode=true&amp;characterEncoding=utf-8,加上?后面的代码是以防万一,有些地方说mysql5.1可以不用加这个,不过加上还是好些。

5、在web.xml中配置编码拦截器(我用的是SSH框架):
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

经过以上几步后,基本可以解决乱码问题了。不过还是有解决不了的,不如我就是这样。我同学和用的完全一样的配置和软件,他的没有乱码,而我的就是解决不了。

主要症状是:

        在jsp页面往数据库中写入数据,然后读取出来是中文,这没问题,但在可视化环境下看到是乱码(我用的是Navicat for MySQL10.0.5.0);如果直接在Navicat 中输入中文,然后在jsp中显示,结果却是乱码。

        这下可以确定是你的可视化软件的问题了,我也不知道到底是什么原因。后来换了一个可视化软件:SQLyog-v9.0.2Trial,这下问题就解决了。我看到一篇文章,他说他当时用的是SQLyog,出现的症状跟我的也差不多,后来也是换成其他的软件才解决了乱码问题。这是一个BUG!


原创粉丝点击