读书人

通过地址传中文参数乱码有关问题

发布时间: 2012-01-20 18:53:53 作者: rapoo

通过地址传中文参数乱码问题
http://localhost:8080/BBS/article.jsp?sort_id=1&sort_name=刘德华
比如我传这样一个参数
而使用el表达式${param.sort_name}的最后一个字乱码
http://localhost:8080/BBS/article.jsp?sort_id=1&sort_name=科比
而这样的话却正常 仿佛是偶数个字就正常
如何解决呢?

[解决办法]
是tomcat吗?
是的话你在server.xml,就是配置端口的地方,你加一个属性
<Connector port="8055" URIEncoding="GBK"
就好了,也许你不是GBK,你也可以看你们用什么就写什么
[解决办法]
不是偶就正常,以中文形式,很有可能出的,最好是在的候先把一下
[解决办法]
你把中文参数调用java.net.URLEncode编码一下
一般做开发时都不会直接用中文做参数传来传去的,很容易出编码问题。
[解决办法]

探讨
是tomcat吗?
是的话你在server.xml,就是配置端口的地方,你加一个属性
<Connector port="8055"URIEncoding="GBK"
就好了,也许你不是GBK,你也可以看你们用什么就写什么

[解决办法]
JScript code
//如果是js的话 encodeURIComponent(areaname)//一般情况下在后台进行转码
[解决办法]
用get方法传中文的话,一般需要对中文进行URL编码转换.
String errmsg="传递的中文";
response.sendRedirect("test1.jsp?errmsg="+java.net.URLEncoder.encode(errmsg));


接收参数文件
<%@ page language="java" pageEncoding="gbk"%>
<%

String errmsg=new String((request.getParameter("errmsg")).getBytes("ISO-8859-1"),"GBK");
out.print("errmsg="+errmsg);
%>

这样就没问题了...

读书人网 >Java Web开发

热点推荐