提前说明我的问题,我一开始发现写入数据库的中文乱码,便连续进行了各种操作:
l 修改mysql的配置文件my.ini,设定了所有编码格式为utf-8,确认了表的字符集也为utf-8;
l 在每一次请求转发时都设置了请求与响应的编码为utf-8;
l 增加了过滤器类,拦截所有请求,也是设置请求与响应为utf-8;
l 而且考虑到了JSP页面与tomcat服务器的编码不统一问题,修改了相关配置文件;
但是乱码依然没有解决,此时我想到了最后一个问题:
因为我提取的是带文件的表单数据信息,这个与一般的post的普通表单不同(可以采用request.getParameter()获取参数值),必须使用item.getString()方法获得,而该方法有个重载方法为item.getString(“utf-8”),修改了此处,自己的问题终于得到解决。
相信使用数据库进行存储的大家都遇到过中文乱码问题,如何彻底解决?我百度了很多资料与博客,想把自己的经历总结起来给大家参考一下,接下来我先罗列一下大部分修改乱码问题的方法:
1. 修改mysql数据库的整体编码
引用自:http://www.cnblogs.com/24la/p/update-mysql-default-character.html
查看方式数据库编码:
1 |
show variables like 'character%'; |
该图是复制的(我的已经改好了)
出现上图情况时,可以进行数据库配置文件my.ini 文件修改:
打开my.ini找到[client]添加一行
default-character-set=utf8
找到[mysqld]这行添加代码如下
character_set_server=utf8
init_