java.net.URLDecoder
java.net.URLEncoder
这2个类可以处理一下中文。
你的问题好像是已经Encode,但是没有Decode.java对中文支持得不是很好。可能还是要用new String(str.getBytes("iso-8859-1"))
java.net.URLEncoder
这2个类可以处理一下中文。
你的问题好像是已经Encode,但是没有Decode.java对中文支持得不是很好。可能还是要用new String(str.getBytes("iso-8859-1"))
实现下载的,英文名成功,但中文名都乱码。
请junyi2003(超级菜鸟)详细介绍您的方法好吗?
比如:
urlstr = java.net.URLDecoder.decode(urlstr);//可能版本高低有差异,1.41好像是、decode(str,String enc)
/*有时候上面这个方法不一定可用,没办法。*///只能用最烂最耗时间和资源的方法;
urlstr = new String(urlstr.getBytes("iso-8859-1"));多试试吧。Jsp和JAVA的中文问题很头疼的,如果我再开发网站肯定放弃JSP.
fileURL = java.net.URLEncoder.encode(localFilename); // 1
fileURL = java.net.URLDecoder.decode(localFilename); // 2
fileURL = new String(localFilename.getBytes("ISO-8859-1")); // 3然后重定向页面:
response.sendRedirect(downURL + "/"+fileURL);得出:http://localhost:8080/downsoft/48%5E51%5E%B3%AC%BC%B6%BD%E2%B0%D42003.zip
http://localhost:8080/downsoft/48^51^収?2003.zip
http://localhost:8080/downsoft/48^51^????2003.zip
理想的URL应是:
http://localhost:8080/downsoft/48^51^超级解霸2003.zip
但即使手工输入上面的地址,也报错:
The requested resource (/downsoft/48^51^%E8%B6%85%E7%BA%A7%E8%A7%A3%E9%9C%B82003.zip) is not available.为什么不行的?
我真的被它烦死了!!!!!!!!!
URLEncoder.encode(String str)和URLDecoder.decode(String str)已经Deprecated.取而代之的是
URLEncoder.encode(String str,String enc)
和
URLDecoder.decode(String str,String enc)
enc代表编码方式,比如"iso-8859-1"等
***********上面你可以试试看,我单位版本老试不了***********从你取得的3次值来看,可能encode和decode都要做。fileURL = java.net.URLDecoder.decode(java.net.URLEncoder.encode(localFilename));
不知道这样还对不对?呵呵
如 http://.../测试.doc我只知道设客户端的浏览器中在高级有一个 UTF-8 的设置,把它去掉就可以
(我是在IIS中遇到这个问题的,不知道在Tomcat 中有没有,和如果设置)
http://localhost:8080/downsoft/%E8%B6%85%E7%BA%A7%E8%A7%A3%E9%9C%B82003.zip
可以下载吗?我在Tomcat4.x是可以的
%E8%B6%85%E7%BA%A7%E8%A7%A3%E9%9C%B82003.zip已经是UTF8编码了参考一下
http://expert.csdn.net/Expert/topic/2287/2287447.xml