求救:中文URL的问题 你将URL的参数转换成你的项目路径试试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 可以考虑不要用中文路径。这样会带来兼容问题如果这个文件是用户上传的,你做一个数据库表UploadFile, 格式如下:id fileName originFileNamefileName随机生成,保证不能重复(最简单是用系统时间,精确到毫秒就够了), originFileName是原文件名字.上传到服务器后,将文件名改为fileName, 新增一条纪录到UploadFile表,1 abcd6868.doc ant中文.docok, 在页面上显示超连接用originFileName,实际上连接到fileName 用java.net.urlencode转换一下不就行了么 回复人: yys79(shart-shoot) ( ) 信誉:100 2005-03-17 10:17:00 得分: 0 用java.net.urlencode转换一下不就行了么 可以用这个来处理中文的URL URL url = new URL(URLEncoder.encode("Http://localhost/ws/ant中文.doc")); HttpURLConnection huc = (HttpURLConnection)url.openConnection();tomcat控制台同样报错 java.io.FileNotFoundException:Http://localhost/ws/ant??.doc会出现乱码的. url,里面好像是用一种特殊的方式传输字符串(前一阵做下载时,遇到汉字乱码问题,查了些资料,现在记不清了) /** * 将文件名中的汉字转为UTF8编码的串. * @param s 原文件名 * @return 重新编码后的文件名 */ public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i=0;i<s.length();i++) { char c = s.charAt(i); if (c >= 0 && c <= 255) { sb.append(c); } else { byte[] b; try { b = Character.toString(c).getBytes("utf-8"); } catch (Exception ex) { System.out.println(ex); b = new byte[0]; } for (int j = 0; j < b.length; j++) { int k = b[j]; if (k < 0) k += 256; sb.append("%" + Integer.toHexString(k). toUpperCase()); } } } return sb.toString(); }你试试吧,祝你好运! URL url = new URL(URLEncoder.encode("Http://localhost/ws/ant中文.doc"));使用时要URLEncoder.decode("你的url") 还是不行啊.我在浏览器地址栏输入:Http://localhost/ws/ant中文.doc,它就会提示我下载.但在程序中建立一个URL("Http://localhost/ws/ant中文.doc")就报错.不知道为什么? URL url = new URL(URLEncoder.encode("Http://localhost/ws/ant中文.doc","gb2312"));先试试这个 个人认为 建议楼主还是用cm4ever(小P)的意见 还是不行啊.我在浏览器地址栏输入:Http://localhost/ws/ant中文.doc,它就会提示我下载.但在程序中建立一个URL("Http://localhost/ws/ant中文.doc")就报错.竟然有这样的事情?那你看看那个错误的连接后真的还是Http://localhost/ws/ant中文.doc路径么? 隐藏jsessionid 关于激活的问题 JSP连接SQL数据库,求救!!! 向空的CachedRowSet 插入一行记录 胖客户端与瘦客户端 Tomcat配置问题 tomcat启动时能否知道jdk servlet配置问题 是不是所有公司的jsp程序员都要求掌握tag呀,stucts呀,还有一个小问题。多给分,谢! Lucky day! 今天我通过了IBM Websphere Studio认证考试 如何实现这个功能 一个参数传递的问题,jsp+struts
用java.net.urlencode转换一下不就行了么
可以用这个来处理中文的URL
HttpURLConnection huc = (HttpURLConnection)url.openConnection();
tomcat控制台同样报错 java.io.FileNotFoundException:Http://localhost/ws/ant??.doc
会出现乱码的.
/**
* 将文件名中的汉字转为UTF8编码的串.
* @param s 原文件名
* @return 重新编码后的文件名
*/
public static String toUtf8String(String s) {
StringBuffer sb = new StringBuffer();
for (int i=0;i<s.length();i++) {
char c = s.charAt(i);
if (c >= 0 && c <= 255) {
sb.append(c);
} else {
byte[] b;
try {
b = Character.toString(c).getBytes("utf-8");
} catch (Exception ex) {
System.out.println(ex);
b = new byte[0];
}
for (int j = 0; j < b.length; j++) {
int k = b[j];
if (k < 0) k += 256;
sb.append("%" + Integer.toHexString(k).
toUpperCase());
}
}
}
return sb.toString();
}
你试试吧,祝你好运!
URLEncoder.decode("你的url")
但在程序中建立一个URL("Http://localhost/ws/ant中文.doc")就报错.
不知道为什么?
先试试这个 个人认为 建议楼主还是用cm4ever(小P)的意见
但在程序中建立一个URL("Http://localhost/ws/ant中文.doc")就报错.竟然有这样的事情?
那你看看那个错误的连接后真的还是Http://localhost/ws/ant中文.doc路径么?