网页间中文参数传递的编码问题,困扰我多时 有一处写错了,第二次得到key是ä½时的url是http://xxx.xx.xx?key=%E4%BD%A0 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你用的web容器是什么?还有那个发送关键字的页面编码是什么?如果页面编码是utf-8而且用的是tomcat的话试试给server.xml中的Connector标签加上URIEncoding="UTF-8"这个属性看看或者在url发送关键字的时候先将关键字编码为iso8859-1看看 url后面传中文参数是用的get方式提交,而get方式传参采用的编码是iso-8859-1.所以会出现上面的问题。解决方法有两个,一是使用post传参二是将中文转码后再传。 java.net.URLEncode编码再传,传过去以后再用java.net.URLDecode解码 在接受URL传值 String name=request.getParameter("name");之前,加上 request.setCharacterEncoding("utf-8"); 你去hi.baidu.com/rascal_hu看看吧,里面有篇文章可能对你有点帮助,看了你的提问,感觉不是很清晰 发送方参数先编码String url = "http://xxx.xx.xx?key=投名状";url = URLEncoder.encode(url,"UTF-8");// 然后你发送出去在接收方request.setCharactorEncoding("UTF-8");String key = request.getParameter("key");// OK String key = new String(request.getParameter("key").getBytes("ISO8859-1"));用这个试下,不行的话,改改后面的编码,总有一格编码方式行的。感觉这个比较方便 缺少十六进制数字 jboss+linux Perm Gen OOM问题,寻求技术支持! (String)session.getAttribute("xxx"))居然报错!!!!! SOCKET程序出现错误,自动关闭怎么回事? sql server2000如何以sa用户登陆!?在线等!先对的得分! 这三张表没有主外键关系 怎么用级联查询其中的ip 谁能教我写一个单点登陆系统(jsp+servlet+bean),解决此问题者,送800分!决不失言! 重复提交问题 网站中什么是一级二级栏目如何制作? 一个登陆的代码,看看,帮忙分析一下 IT人才跳槽及职场分析
如果页面编码是utf-8而且用的是tomcat的话试试给server.xml中的Connector标签加上URIEncoding="UTF-8"这个属性看看
或者在url发送关键字的时候先将关键字编码为iso8859-1看看
解决方法有两个,一是使用post传参
二是将中文转码后再传。
String name=request.getParameter("name");
之前,加上
request.setCharacterEncoding("utf-8");
String url = "http://xxx.xx.xx?key=投名状";
url = URLEncoder.encode(url,"UTF-8");
// 然后你发送出去在接收方
request.setCharactorEncoding("UTF-8");
String key = request.getParameter("key");
// OK