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软件。在线等。百度了很多说要统一编码。求步骤~ 展开
 我来答
xy007man
2014-12-28 · TA获得超过1584个赞
知道小有建树答主
回答量:389
采纳率:100%
帮助的人:134万
展开全部
解决中文乱码
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");%>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式