liuyiy 2013-12-04
编写javaweb项目的时候曾碰到一个问题就是填写中文资料的时候,数据库接受的是?????,中文乱码,由于jsp中文编码和默认的web服务器,浏览器编码不一致,查了一些资料后,我是这么做的:
1检查每个jsp的pagecharset=gb2312一致,
2每个servlet页面使用request.setCharacterEncoding("gb2312");
3在每个javabean页面中把得到的值使用
Stringxxx=newString(xxx.getBytes("ISO-8859-1"),"UTF-8");
(当时有点气急败坏..)
4每个servlet页面写上
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
但是悲剧的是问题还是没有解决,而我注意到我的数据从输入到传给servlet检查都没有问题,只是在最后传入数据库的时候是乱码,最后得出的结论是...MySQL安装的时候有一个选项是选择语言,我当时没有留意就直接continue了,就是这个问题,大家安装MySQL的时候记得在那个选项中选择utf8或者gb2312之类的。