IE中的奇怪错误

时间:2009-08-16 08:38:14

标签: asp.net internet-explorer

我有一个带有unicode字符的网址

http://www.argaam.com/Common/Handlers/DownloadAttachment.aspx?referer=/portal&fileName=اعمار。 -الربعالثاني_633857794599657020.pdf& folder = \ CompanyFinancialResults \

这在FireFox以及Chrome和Safari中运行良好但是当从IE发送请求时,服务器会将我发送到错误页面。

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

IE

GET /Common/Handlers/DownloadAttachment.aspx?referer=/portal&fileName=??????%% 20 ?????????????????????????????????????????????????????????????????????????????????????????????????? \ HTTP / 1.1

的FireFox

GET /Common/Handlers/DownloadAttachment.aspx?referer=/portal&fileName=%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_633857794599657020.pdf& folder = \ CompanyFinancialResults \ HTTP / 1.1

所以由于某种原因IE浏览器没有正确编码多字节字符!

任何人都知道为什么?

3 个答案:

答案 0 :(得分:0)

看起来URL中有多字节字符,我没有想过这个,所以不确定这是否是问题的一部分? URL也看起来像是文件名,可能是那些带有这些字符的文件名不存在或文件不存在?

答案 1 :(得分:0)

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

  

要解决此问题,必须添加注册表值。将名为MBCSServername的DWORD注册表值(数据值为0)添加到以下注册表项:   HKEY_CURRENT_USER \ Software \ Policies \ Microsoft \ Windows \ CurrentVersion \ Internet Settings

答案 2 :(得分:0)

您的链接在放入HTML时应该是URLEncoded,而不是依赖浏览器尝试为您编码URL。 (IE的行为因客户的操作系统/语言而异,等等。)