焦急在线等待:url地址中的中文问题?请高手出手! ( 积分: 200 )

  • 主题发起人 wxb761014
  • 开始时间
W

wxb761014

Unregistered / Unconfirmed
GUEST, unregistred user!
我 在 jsp 中有如下一个连接。
<a href="http://localhost:9080/index/文件1.xls">连接1</a>
但是如果打开这个连接,服务器总是提示找不到文件,而且地址中的中文变成了不认识的
一些代码,好象是%55%34之类的,具体记不太清楚了。
但是如果文件名字是英文,则没有问题,如下面这个连接就没有问题。
<a href="http://localhost:9080/index/file1.xls">连接1</a>
各位高手给诊断一下是什么问题,和应用服务器有关系吗,我用的是websphere4.0.
是不是设置一下websphere就可以解决呢。
这个问题以前体过,没有具体解决,现在情况很急,希望大家给个方法或者线索。
本人将非常感谢,在线等待!!!谢谢,不啬分数。
 
W

wxb761014

Unregistered / Unconfirmed
GUEST, unregistred user!
我 在 jsp 中有如下一个连接。
<a href="http://localhost:9080/index/文件1.xls">连接1</a>
但是如果打开这个连接,服务器总是提示找不到文件,而且地址中的中文变成了不认识的
一些代码,好象是%55%34之类的,具体记不太清楚了。
但是如果文件名字是英文,则没有问题,如下面这个连接就没有问题。
<a href="http://localhost:9080/index/file1.xls">连接1</a>
各位高手给诊断一下是什么问题,和应用服务器有关系吗,我用的是websphere4.0.
是不是设置一下websphere就可以解决呢。
这个问题以前体过,没有具体解决,现在情况很急,希望大家给个方法或者线索。
本人将非常感谢,在线等待!!!谢谢,不啬分数。
 

子瑜

Unregistered / Unconfirmed
GUEST, unregistred user!
汉字命名的文件不行?
 
W

WongMokin

Unregistered / Unconfirmed
GUEST, unregistred user!
没用过 websphere,不太清楚,估计是配置的原因,不知道有没有 unicode的设置项之类?
我使用过 Apache 2x /3x 及 IIS 5 , PHP / ASP 在简繁体win2000下均可正常识别中文。
由此推测,可能是你机器或是websphere的问题。
 
Z

ZYONG

Unregistered / Unconfirmed
GUEST, unregistred user!
不用开两帖吧?呵呵
与应用服务器无关。
你要把网页的charset=gb2312加上,网页才会正确编码。
 

张鸿林

Unregistered / Unconfirmed
GUEST, unregistred user!
你要把网页的charset=gb2312加上,网页才会正确编码。
=============
没有道理
楼主的问题是访问url时就出错,还没访问文件内容呢
我只用iis server,照样存在这个问题
害得我不得不全部用英文命名文档
 

张鸿林

Unregistered / Unconfirmed
GUEST, unregistred user!
http://www.pconline.com.cn/pcedu/empolder/wz/webserver/0403/344416.html
查到的:
  Q:win200 server+iis,为什么在网页上,有的中文htm链接路径可以显示,有的不行?
  A:'转换双字节字符为合法的URL传输字串
  function getUrlEncodel(byVal Url)
   Dim i,code
   getUrlEncodel=""
   if trim(Url)="" then
exit function
   for i=1 to len(Url)
   code=Asc(mid(Url,i,1))
  If code<0 then
code = code + 65536
   If code>255 then
   getUrlEncodel=getUrlEncodel&"%"&Left(Hex(Code),2)&"%"&Right(Hex(Code),2)
  else
   getUrlEncodel=getUrlEncodel&mid(Url,i,1)
  end if
   next
  end function
其原理就是把中文字符翻译成web可传输字符(%开头),事实上,楼住的url已经由系统自动做这个转换,按理应该可以了,但实际上不行.
我早遇到这个问题,没有深究,只是避开它
 
H

hardware007

Unregistered / Unconfirmed
GUEST, unregistred user!
遇到过,回避吧
 
Z

ZYONG

Unregistered / Unconfirmed
GUEST, unregistred user!
TO:张鸿林,
<a href="http://localhost:9080/index/文件1.xls">连接1</a>
说明他已经运行了网页了。
下面是我的一个软件生成的网页
<HTML>
<HEAD>
<META content="text/html;
charset=windows-1252" http-equiv="Content-Type" >
<TITLE>xxxx</TITLE>
</HEAD>
<BODY >
<IMG src="file://E:/busine/mail/Template/卡片/images/Pic_6896.jpg" >
</BODY>
</HTML>
上面是看不到图片的。
<HTML>
<HEAD>
<META content="text/html;
charset=gb1232" http-equiv="Content-Type" >
<TITLE>xxxx</TITLE>
</HEAD>
<BODY >
<IMG src="file://E:/busine/mail/Template/卡片/images/Pic_6896.jpg" >
</BODY>
</HTML>
这样是看得到图片的。
 

张鸿林

Unregistered / Unconfirmed
GUEST, unregistred user!
ZYONG,你说得有道理,我没有看清楼主是在网页内部加入的链接,对不起!
但是,如果我在url打入包含汉字的链接,该如何处理?
 

张鸿林

Unregistered / Unconfirmed
GUEST, unregistred user!
马上作了个实验:
page1.htm内容如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<title>New Page 1</title>
</head>
<body>
<p><a href="网页2.htm">网页2.htm</a></p>
</body>
</html>
当点击这个网页2.htm的链接时:
无法找到网页
 
Z

ZYONG

Unregistered / Unconfirmed
GUEST, unregistred user!
TO:张鸿林,如果我在url打入包含汉字的链接,该如何处理?
this way for iis:
1.SET "HKEY_LOCAL_MACHINE->SYSTEM->CurrentControlSet->Services->InetInfo->Parameters->FavorDBCS"=0
2.restart your server machine.
 
Z

ZYONG

Unregistered / Unconfirmed
GUEST, unregistred user!
TO:张鸿林,马上作了个实验
可以的呀,我这里没问题。
 
Z

ZYONG

Unregistered / Unconfirmed
GUEST, unregistred user!
TO:张鸿林,马上作了个实验
如果你是用file的方式访问,应该是没有问题的。
如果你是用http的方式访问,改注册表项目先。
 
W

wxb761014

Unregistered / Unconfirmed
GUEST, unregistred user!
谢谢各位的关注,其实你们说的办法我都试过了。
好像是websphere对于中文url的处理有问题。对此我查了一些资料,也照作了,但都没有效果。
各位知道什么线索,请多多提交,如能解决,将不胜感谢。加倍送分。希望各位websphere高手出手啊!!!
 

张鸿林

Unregistered / Unconfirmed
GUEST, unregistred user!
to ZYONG,
这下才全面解决问题!,非常感谢
修正一下:
2.restart your server machine.
事实上只要停止iis相关的service并启动他们就可以了
我也给你200分,到这里拿:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2706988
 
Z

ZYONG

Unregistered / Unconfirmed
GUEST, unregistred user!
TO:wxb761014
这里有一篇文章你看一下,或者有帮助:
http://www.cn-java.com/target/news.php?news_id=941
 
Y

yangxiao_jiang

Unregistered / Unconfirmed
GUEST, unregistred user!
把路径进行编码
<%@ page import="java.net.*" %>
URLEncoder.encode("文件1.xls")
或者使用servlet把所有的url提交的信息进行转换。
 
W

wxb761014

Unregistered / Unconfirmed
GUEST, unregistred user!
大家的方法我都试了,还是不行。
我也是没有办法啊,人家用户就是要用中文文件名啊
难道这个问题真的就没有解了吗。
 
Y

yangxiao_jiang

Unregistered / Unconfirmed
GUEST, unregistred user!
还有一种方法,做一个download.jsp的页 ,把文件名传进取 ,用respond来打,什么名的都可以下载了。
response.setContentType("application/x-msword");//这里要设置头
response.sendRedirect(request.getParameter("addr"));//这里把传过来的路径写上。
 
顶部