get请求和post请求参数中文乱码的解决办法
一,get请求参数中文乱码的解决办法来自页面的一个get请求:$("button").click(function(){$.get("/try/ajax/demo_test.php?name="+encodeURI(encodeURI("小明")),function(data,status){alert("数据: " + data + "\n状态: " + status);});});服务器端:S
·
一,get请求参数中文乱码的解决办法
来自页面的一个get请求:
$("button").click(function(){
$.get("/try/ajax/demo_test.php?name="+encodeURI(encodeURI("小明")),function(data,status){
alert("数据: " + data + "\n状态: " + status);
});
});
服务器端:
String name = request.getParameter("name");
orgname = URLDecoder.decode(name,"UTF-8");
因为get请求的参数在请求行上,我们不能像解决post请求那样使用 request.setCharacterEncoding(“UTF-8”);这种方式是修改方法体的编码方式。
所以只能使用以上的方式分别对请求行的汉字进行编码和解码。其实解决get请求中文乱码问题最好的方式是避免使用中文。
二,post请求参数中文乱码的解决办法
对于post请求,请求中问乱码的两种解决办法,就喜闻乐见了。一般也不会有post请求参数中文乱码吧,认为任何一个java的web项目因该都配置了字符集过滤器吧。
第一种xml中配置字符集过滤器:
<filter>
<description>字符集过滤器</description>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<description>字符集编码</description>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
第二种java代码设置编码为utf-8
request.setCharacterEncoding("UTF-8");
更多推荐
已为社区贡献4条内容
所有评论(0)