Jsp乱码

来源:互联网 发布:丹妮淘宝绸缎丝带 编辑:程序博客网 时间:2024/06/10 16:25

Jsp中参数乱码的解决方式:

一、请求方式分get和post


1、get的转码

String name=request.getParameter("name");String output=new String(name.getBytes("ISO-8859-1"),"UTF-8");

2、post的转码

request.setCharacterEncoding("utf-8");String name=request.getParameter("name");   

二、文件编码

如果以上方法未能解决乱码,原因有:


1、pageEncoding="utf-8" 。此参数是Jsp对应Servelt的文件编码,参数编码与文件编码不一致会造成乱码。

2、contentType="text/html; charset=utf-8"。此参数是返回客户端内容的编码,参数编码与返回内容编码不一致会造成乱码。


三、Tomcat解决乱码

配置Tomcat的server.xml,在Connector中添加属性URIEncoding或userBodyEncodingForURI

1、URIEncoding:对所有的GET请求进行统一的重新编码(解码)的编码。

      - 弊端:此属性会影响到所有项目的编码

2、useBodyEncodingForURI:表示是否使用request.setCharacterEncoding对GET提交的参数进行重新编码,默认false

3、URIEncoding和useBodyEncodingForURI区别是

      - URIEncoding:对所有GET方式的请求的数据进行统一的重新编码

      - useBodyEncodingForURI:根据响应页面的request.setCharacterEncoding进行重新编码,不同的页面可以有不同的编码


四、总结

要确保页面不出现乱码,一、二、三步要联合使用,并且使用一致的编码格式

0 0