JSP 页面编码改为UTF-8或GBK,request.getParameter传值乱码 5
JSP当页面编码改为UTF-8或GBK,request.getParameter传值乱码.改为ISO-8859-1传值竟然不会乱码,可是在代码里面输入中文会乱码,在别的页...
JSP 当页面编码改为UTF-8或GBK ,request.getParameter传值乱码. 改为ISO-8859-1 传值竟然不会乱码,可是在代码里面输入中文会乱码,在别的页面传值过来中文可以输出。用Eclipser软件。在线等。百度了很多说要统一编码。求步骤~
展开
1个回答
展开全部
解决中文乱码
1)解决表单post方式提交参数时参数乱码
request.setCharacterEncoding("GBK");
注:a.置于得到的第一个参数之前【request.getParameter("XXX");】
b.不要写成response.setCharacterEnconding("GBK");
2) 解决表单get方式提交参数时的乱码
修改server.xml文件-->URIEncoding="GBK"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK"/>
注:改变server.xml后tomcat不会reload,需要重启tomcat才会有效
3)解决的是servlet页面显示的乱码(servlet接受数据后显示数据)
response.setCharacterEnconding("GBK"); <==>
response.setContentType("text/html;charset=GBK");语句的后半句
4)url地址包含中文参数或者<jsp:param name="user" value="中文">
<%request.setCharacterEncoding("GBK");%>
注意:这里到底是用gbk或者是用utf-8与你jsp或html页面的编码方式有关,要保证servlet的编码方式与向其提交数据的jsp页面或html页面的编码一致。
如果你不想看这些东西,我可以给你一个模板代码:
servlet文件头:
public class XXXXX extends HttpServlet{
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException,IOException {
resp.setContentType("text/html;charset=gbk");
//解决的是servlet页面显示的乱码
req.setCharacterEncoding("GBK");
//解决post方式参数传递的参数乱码
PrintWriter out = resp.getWriter();
......
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
this.doGet(req, resp);
}
}
jsp文件开头:
<%@ page contentType="text/html;charset=GBK"%>
<%request.setCharacterEnconding("GBK");%>
1)解决表单post方式提交参数时参数乱码
request.setCharacterEncoding("GBK");
注:a.置于得到的第一个参数之前【request.getParameter("XXX");】
b.不要写成response.setCharacterEnconding("GBK");
2) 解决表单get方式提交参数时的乱码
修改server.xml文件-->URIEncoding="GBK"
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK"/>
注:改变server.xml后tomcat不会reload,需要重启tomcat才会有效
3)解决的是servlet页面显示的乱码(servlet接受数据后显示数据)
response.setCharacterEnconding("GBK"); <==>
response.setContentType("text/html;charset=GBK");语句的后半句
4)url地址包含中文参数或者<jsp:param name="user" value="中文">
<%request.setCharacterEncoding("GBK");%>
注意:这里到底是用gbk或者是用utf-8与你jsp或html页面的编码方式有关,要保证servlet的编码方式与向其提交数据的jsp页面或html页面的编码一致。
如果你不想看这些东西,我可以给你一个模板代码:
servlet文件头:
public class XXXXX extends HttpServlet{
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException,IOException {
resp.setContentType("text/html;charset=gbk");
//解决的是servlet页面显示的乱码
req.setCharacterEncoding("GBK");
//解决post方式参数传递的参数乱码
PrintWriter out = resp.getWriter();
......
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
this.doGet(req, resp);
}
}
jsp文件开头:
<%@ page contentType="text/html;charset=GBK"%>
<%request.setCharacterEnconding("GBK");%>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询