urlencode的问题
本帖最后由 wjjchen 于 2012-06-11 09:54 编辑表单提交一个特殊字符串的时候,比如:拼字華盛頓郵報。按照GBK编码,浏览器encode的结果是:%C6%B4%D7%D6%C8A%CA%A2%EED%E0%5D%88%F3。比如soso的搜索:http://www.soso.com/q?pid=s.idx&cid=s.idx.se&w=%C6%B4%D7%D6%C8A%CA%A2%EED%E0%5D%88%F3
但是用java.net.URLDecoder.decode的结果是:拼字�A盛�D郵報。出现乱码。用System.out.println(new String(java.net.URLEncoder.encode("拼字華盛頓郵報","GBK")));的结果是:%C6%B4%D7%D6%C8%41%CA%A2%EE%44%E0%5D%88%F3。
对比一下:
%C6%B4%D7%D6%C8A%CA%A2%EED%E0%5D%88%F3
%C6%B4%D7%D6%C8%41%CA%A2%EE%44%E0%5D%88%F3
问题就出在%C8A和%C8%41上,怎么处理这个问题。 回复 1# wjjchen
应改这样编码response.sendRedirect("./3-1.jsp?info="+URLEncoder.encode("请重新输入","UTF-8"));应该这样解码String info=request.getParameter(URLDecoder.decode("info","UTF-8"));应该这样让url显示汉字<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" />让版主给我加分吧,孩子 我不要utf8
页:
[1]