中文问题(50分)

Q

qwen

Unregistered / Unconfirmed
GUEST, unregistred user!
<%
String ss="../test/党组文件.doc";
ss=new String(ss.getBytes("gb2312"),"ISO8859_1");
%>
<a href="<%=ss%>" target="_blank">文件</a>
在ie的地址栏内是http://192.168.42.179:8088/test/党组文件.doc,但仍然出错
404 Not Found
/test/%E5%85%9A%E7%BB%84%E6%96%87%E4%BB%B6.doc was not found on this server.
 
或者
<a href="../test/党组文件.doc" target="_blank">文件</a>
得到的也是
404 Not Found
/test/%E5%85%9A%E7%BB%84%E6%96%87%E4%BB%B6.doc was not found on this server.
 
這個正常!
其中一個原因是:簡體、繁體操作系統的問題…
所以說:能不用中文的盡量不用!
 
用静态页可以实现,但是在jsp里是不行的。
 
试试:ss=new String(ss.getBytes("GBK"), "ISO8859-1")
 
非中文名是否可以?
路径对不对?
 
<%
String ss="文本.txt";
ss=java.net.URLEncoder.encode(ss,"GB2312");//或者ss=java.net.URLEncoder.encode(ss);看你用的JDK的版本了。
%>
<a href="<%=ss%>" target="_blank">文件</a>
我在自己机器上测试过了。
 
我也觉得奇怪,我使用楼上的方法一:java.net.URLEncoder.encode(ss,"GB2312");出错,
具体信息是:“method 中的参数数量错误。”
使用方法2:java.net.URLEncoder.encode(ss);出来的还是最早的错误。
不过编码出来的东西不一样了,成%B5%B3%D7%E9%CE%C4%BC%FE.doc,
我觉得方法一应该是非常对的,也查了javado
c,是这么写呀,为什么会报错呢,沮丧。
 
1。java.net.URLEncoder.encode(String,String)在JDK1.4中使用,
java.net.URLEncoder.encode(String)在JDK1。3中使用。
不同的版本不同的使用方法。从你说的来看,你应该用的是JDK1.3.X.
2。用第二种方法也应该可以的。
你说“成%B5%B3%D7%E9%CE%C4%BC%FE.doc”了,这说明已经正确了。
在IE的地址栏中直接这么输入是可以找的到文件的。
3。我又在自己机器上试了JDK1.3的情况,完全正常。
请仔细检查自己的路径。请先确定可以找到E文的文件,是否确实是字符集的问题。
FT!
 
多人接受答案了。
 
顶部