码迷,mamicode.com
首页 > 其他好文 > 详细

解决浏览器向服务器传递参数时中文乱码问题

时间:2014-11-08 00:49:48      阅读:315      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   使用   java   sp   

 

解决Get方式的中文参数的乱码问题:
方式1:
前提是Tomcat是默认的配置:

key = new String(key.getBytes("iso8859-1"), "utf-8");

方式2:
在Tomcat的server.xml中设置:

<Connector port="8080" protocol="HTTP/1.1" 
connectionTimeout="20000" 
redirectPort="8443"
URIEncoding="utf-8" (这是重点,表示获取参数解码时默认使用的编码类型)
/>

方式3:(推荐)
1.在页面中进行两次URL编码:

param = encodeURI(param);
param = encodeURI(param);

通过URL传值到服务端。
2.在Action中再进行一次URL解码(因为在req.getParameter(..)时已经做过一次URL解码了)

String param = URLDecoder.decode(req.getParameter(param)); 

 

struts标签解决乱码问题:

在struts标签中这样写,就可以进行两次URL编码了,前提是在struts.xml中要设置一下:
<!-- 设置为在OGNL中可以调用静态方法 -->
<constant name="struts.ognl.allowStaticMethodAccess" value="true" />

<s:a action="processDefinitionAction_delete" onclick="return delConfirm()">
    <s:param name="key" value="%{@java.net.URLEncoder@encode(key, ‘utf-8‘)}"></s:param>
    删除
</s:a>

 

解决浏览器向服务器传递参数时中文乱码问题

标签:style   blog   http   io   color   ar   使用   java   sp   

原文地址:http://www.cnblogs.com/zfrblog/p/4082605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!