您的位置:首页 > 其它

servlet中文一般乱码问题结解决方式总结

2015-08-31 21:01 351 查看
出现中文乱码的问题有很多,以前在学习php的时候乱码的问题近乎没有多少,php在这方面还是处理的比较好的,但在javaee的servlet中中文乱码的问题比较好,而出现的原因也比较多,下面做一下简单的总结:

按照数据传送的方式我分为了两类:POST和GET传送数据,当然了还有其它的传输方式,但是这两种是我们最常见的。

1:以POST传送数据的方式:

这种方式相对于get传送的处理要简单一些,首先在浏览器端如用户填写的表单以post的方式传送到servlet,这是的数据只要经过utf-8转码就可以时间正确的编码:

request.setCharacterEncoding("utf-8");就可以在服务器端获取到正确的码。

2:这种方式较为麻烦一点,以get传送数据的话会把数据编码会转换为iso-8859-1编码,所以在servlet接收到数据之后,需要转换成正确的编码,可以使用类似:

String newusername=new String(username.getBytes("iso-8859-1"),"utf-8");的方式转换编码。

3:上面的两种方式的编码确实是正确了,但也只是在服务器端是正确的,因为服务器的数据如果返回给浏览器,还是需要再次进行转码的。这个相对简单一一些:

response.setContentType("text/html;charset=utf-8"); 但是需要注意的是:get和post方法都要去设置返回数据的编码方式,否则单方面还是不可行的。

建议一下:最好把复杂的整理乱码方案封装成为工具类,减少代码量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: