首先我们看下,一个请求响应的流程
浏览器------------------>Servlet容器--------------->显示页面
编码 使用容器的URIEncoding转码 解码
举例:Tomcat作为Servlet容器,Tomcat的默认的URIEncoding是“iso8859-1“,可在server.xml配置文件中指定编码类型
1.JSP中显示乱码
解决方法:在JSP中第一行加上<%@ page pageEncoding="UTF-8"%>
即可解决。
2.Servlet中显示乱码
解决方法:在Servlet中加上response.setContentType("text/html;charset=UTF-8");
3.Post请求中传中文参数显示乱码
解决方法:接受参数前,加上request.setCharaterEncoding("UTF-8");
4.Get请求中传中文参数显示乱码
第一种解决方法:程序转码
String value = new String(pValue.getBytes("iso-8859-1"), "UTF-8");
第二种解决办法:
解决方法:修改tomcat,conf文件夹下的server.xml文件。将其中的
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"/>
修改为:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>

本文介绍了在JavaWeb开发中常见的几种中文乱码问题及解决方案,包括JSP页面、Servlet响应、POST和GET请求中中文参数的乱码处理。
8068

被折叠的 条评论
为什么被折叠?



