代码之家  ›  专栏  ›  技术社区  ›  Storm

IE中的奇怪错误

  •  0
  • Storm  · 技术社区  · 15 年前

    我有一个包含Unicode字符的URL

    http://www.argaam.com/Common/Handlers/DownloadAttachment.aspx?referer=/portal&fileName=اعمار . -.pdf&folder=\companyfinancialresults\

    这在Firefox、Chrome和Safari中都可以正常工作,但是当从IE发送请求时,服务器会将我发送到一个错误页面。

    好的,我收到了服务器收到的请求,就像这样

    IE

    获取/common/handlers/downloadAttachment.aspx?referer=/portal&filename=?你说什么?你说什么?%20-?你说什么?你说什么?%20岁?你说什么?你说什么??.pdf&folder=\companyFinancialResults\http/1.1

    火狐

    获取/common/handlers/downloadAttachment.aspx?referer=/portal&文件名=%d8%a7%d8%b9%d9%85%d8%a7%d8%b1.%20-%d8%a7%d9%84%d8%b1%d8%a8%d8%b9%20%d8%a7%d9%84%d8%ab%d8%a7%d9%86%d9%8a_.pdf&folder=\companyfinancialresults\http/1.1

    因此,由于某种原因,IE没有正确编码多字节字符!!

    有人知道为什么吗?

    3 回复  |  直到 15 年前
        1
  •  0
  •   EricLaw    15 年前

    当你的链接放在HTML中时,应该对其进行urlencoded,而不是依靠浏览器来为你对URL进行编码。(即其行为因客户的操作系统/语言等而异)。

        2
  •  0
  •   Mark Redman    15 年前

    看起来URL中包含多字节字符,我还没有体验过,所以不确定这是否是问题的一部分?另外,该URL看起来似乎有一个文件名,可能是具有这些字符的文件名不存在,或者该文件不存在?

        3
  •  0
  •   ars    15 年前

    尝试在Microsoft的此页上记录注册表更改:

    要解决此行为,必须添加注册表值。将名为mbcsservername、数据值为0的dword注册表值添加到以下注册表项: hkey_current_user\software\policies\microsoft\windows\currentversion\internet设置