通过地址传中文参数乱码问题
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编码一下
一般做开发时都不会直接用中文做参数传来传去的,很容易出编码问题。
------解决方案--------------------
------解决方案--------------------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);
%>
这样就没问题了...