做了个测试页面t.jsp,代码如下
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
out.println(name);
%>
使用如下URL访问http://localhost:7001/t.jsp?name=%u53F7
得到的输出为“%u53F7”同样的情况在resin下,就可正常解析为中文,得到输出为"号"不知道在weblogic下,改做如何的设置才能得到正确的中文,最好不使用javascript的unescape方法来解析
谢谢各位了
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<%
request.setCharacterEncoding("utf-8");
String name=request.getParameter("name");
out.println(name);
%>
使用如下URL访问http://localhost:7001/t.jsp?name=%u53F7
得到的输出为“%u53F7”同样的情况在resin下,就可正常解析为中文,得到输出为"号"不知道在weblogic下,改做如何的设置才能得到正确的中文,最好不使用javascript的unescape方法来解析
谢谢各位了
"ISO-8859-1"), "UTF-8")这样不知道行不行
URLDecoder.decode("%u53F7", "GBK");
得到结果是“%25u53f7”,这里的应用环境不太适合使用JS处理,unescape是可以处理正确的
你误解我的意思了,
encodeURIComponent的应该是中文,而不是转码以后的字符。比如:
encodeURIComponent("中文字符");
就可以了。
楼主的意思是,他只能对这个URL操作,而产生这个URL的代码只能当作黑盒来研究。也就是没法用encodeURIComponent啦。
只能考虑对获得的URL进行处理那么有其他的办法吗
原先是用escape进行编码的
改为encodeURIComponent就可以了这样修改影响比较大,但是看来实在也没有其他什么法子了,只能这么改
谢谢楼上的各位