日期:2014-05-20  浏览次数:20733 次

关于URL包含中文路径的问题
我在自己电脑上配置了服务器,里面有一个PDF文档,用于测试从网上下载PDF的程序。我采用的是数据流的方式下载,PDF文档的url是”http://xxx/xxx/xxx/xxx:8080/111.pdf“,此时可以成功下载;但当我把PDF文档名改成中文时,即”http://xxx/xxx/xxx/xxx:8080/文档.pdf“,便无法下载了,出现如下错误:
ERROR download.DownloadPdf (DownloadPdf.java:download(53)) - io error ,点击出现的详细信息是:Hyperlink Error :Unable to parse line number from hyperlink 。请问应该如何解决?
此外,网上的url中很难见到带有中文字符的,是文档本身就不含中文还是经过了编码,具体过程是怎么样的??

------解决方案--------------------
url中有中文,这个传到后台肯定是乱码的,考虑把中文当作参数传,传之前先编码,在服务器端再解码:
file=文档.pdf
s=encodeURI(file);
url=http://topic.csdn.net/download.jsp?s

服务器端:
String file=java.net.URLDecoder.decode(request.getParameter("file"),"UTF-8");
------解决方案--------------------
应该是乱码问题。在后台断点看看获取到的文件名是否有乱码