解决Extjs传参到action中文乱码和jsp之间传值的中文乱码问题
2012-07-28 20:16
344 查看
///////////////////////////解决ext到中文的问题/////////////////////////
String userName = new String(request.getParameter("userName").getBytes("iso-8859-1"),"utf-8");
jsp代码中,使用到了java.net.URLEncoder.encode()对要传递的中文进行编码。可是接收到的字符串却是乱码。最令人抓狂的就是这段代码在有的机器上运行正常,可是在某些机器上死活也不能正常运行。因为对jsp和网页都不是很熟所以查了很久才发现原因。
最后发现是这段代码没有规范的使用java.net.URLEncoder,虽然使用了java.net.URLEncoder.encode()对要传递的中文进行编码,可是接收页面接收时没有使用java.net.URLEncoder.decode()进行解码。导致在有的机器上运行正常,而有的就出错。
下面贴一下解决这个问题参考的文章:
使用java.net.URLEncoder.encode()可以对要传递的中文进行编码
a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
取值时用语句java.net.URLDecoder.decode(param);再转回中文
b.在你的Tomcat目录-->conf目录-->server.xml里找出这段:
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
<!--在里边加上这个参数-->
URIEncoding="gb2312"
/>
例如:
<%@ page contentType="text/html;charset=gb2312" %>
<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%>">点击这里</a>
<%
if(request.getParameter("url")!=null)
{
str=request.getParameter("url");
str=java.net.URLDecoder.decode(str,"GB2312");
str=new String(str.getBytes("ISO-8859-1"));
out.print(str);
}
%>
若,字符编码为utf-8也可以实现.或者在此段代码中,不写出字符编码也可以(只写一个参数)。
String userName = new String(request.getParameter("userName").getBytes("iso-8859-1"),"utf-8");
jsp代码中,使用到了java.net.URLEncoder.encode()对要传递的中文进行编码。可是接收到的字符串却是乱码。最令人抓狂的就是这段代码在有的机器上运行正常,可是在某些机器上死活也不能正常运行。因为对jsp和网页都不是很熟所以查了很久才发现原因。
最后发现是这段代码没有规范的使用java.net.URLEncoder,虽然使用了java.net.URLEncoder.encode()对要传递的中文进行编码,可是接收页面接收时没有使用java.net.URLEncoder.decode()进行解码。导致在有的机器上运行正常,而有的就出错。
下面贴一下解决这个问题参考的文章:
使用java.net.URLEncoder.encode()可以对要传递的中文进行编码
a.在传参数之前先把参数进行转码:java.net.URLEncoder.encode(param);
取值时用语句java.net.URLDecoder.decode(param);再转回中文
b.在你的Tomcat目录-->conf目录-->server.xml里找出这段:
<Connector
port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true"
<!--在里边加上这个参数-->
URIEncoding="gb2312"
/>
例如:
<%@ page contentType="text/html;charset=gb2312" %>
<a href="ds.jsp?url=<%=java.net.URLEncoder.encode("编码的是这里","GB2312")%>">点击这里</a>
<%
if(request.getParameter("url")!=null)
{
str=request.getParameter("url");
str=java.net.URLDecoder.decode(str,"GB2312");
str=new String(str.getBytes("ISO-8859-1"));
out.print(str);
}
%>
若,字符编码为utf-8也可以实现.或者在此段代码中,不写出字符编码也可以(只写一个参数)。
相关文章推荐
- 学习struts2建bbs总结四:解决jsp/action中文传值乱码问题
- 关于Struts2使用redirectAction方式在两个Action之间传值时中文乱码问题的解决方法
- 记录一个解决jsp向action传值时中文乱码的问题
- 解决jsp向action传值乱码的问题
- 解决jsp页面URL传值中文乱码问题
- 解决jsp页面请求action后中文乱码的问题
- jsp传值中文乱码问题解决方法示例介绍
- Jsp链接传值中文乱码问题解决
- jsp页面之间传值乱码问题解决
- 解决jsp页面之间或者servlet向jsp页面通过重定向传值时遇到中文的问题
- jsp之间传参数接受中文有乱码问题解决方法
- jsp之间传输中文乱码问题的解决办法
- linux+tomcat struts 2 Jsp页面传值中文乱码问题解决方法
- 解决jsp中后台传值中文到前台乱码的问题
- 在控制器中添加过滤器,解决中文由jsp到action进而到数据库传输过程中出现的乱码问题(Struts)
- 解决jsp超链接中文传值乱码问题
- 解决JSP与struts2 Action中文乱码问题
- 解决jsp中action接受页面传过来的中文乱码问题
- jsp之间传参数接受中文有乱码问题解决方法
- jsp传值中文乱码问题解决方法示例介绍