首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么IE11要用参数来转换我的URL?

为什么IE11要用参数来转换我的URL?
EN

Stack Overflow用户
提问于 2016-05-18 15:26:14
回答 2查看 2.3K关注 0票数 0

我有一个url内部应用程序,我用下面的url调用它,其中包含一个参数。

代码语言:javascript
复制
http://127.0.0.1:8888/?0001=„V‡&

当我在IE11中输入URL时,它将被转换为以下内容。

代码语言:javascript
复制
http://127.0.0.1:8888/$/?0001=%EF%BF%BD%EF%BF%BDV%EF%BF%BD

它在Chrome和Opera中工作,将原始形式的参数传递给应用程序。有什么办法阻止IE11转换参数吗?

我使用的是IE11、Delphi10.1柏林和InterWeb14.0.53。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-19 21:54:10

这样的非ASCII字符不允许在RFC 3986中显示未编码的字符( IRI通过RFC 3987允许,但HTTP不使用IRIs)。某些ASCII字符也保留为分隔符,当用于字符数据时,不能显示未编码的字符。

他在做正确的事情。在传输URL之前,受限制的字符必须被字符集编码为字节(IE使用UTF-8,没有办法让URL指定使用的字符集),然后字节必须以%HH格式编码百分比。

then服务器将反转此过程以获得原始字符--将%HH序列转换为字节,然后将字节解码为字符。浏览器和web服务器必须就所使用的字符集达成一致。经常使用UTF-8,但并不总是使用.一些外国服务器可能会使用它们自己的地区。

这是URL和HTTP规范的一部分。所有的web服务器都需要识别和解码百分比编码序列.

Chrome和Opera应该在网络层做IE正在做的同样的事情,即使他们没有更新他们的UI来反映它。您可以使用包嗅探器(如威克鲨费德勒 )来验证每个浏览器到底在向web服务器发送什么。

票数 1
EN

Stack Overflow用户

发布于 2016-05-19 11:18:35

根据这篇文章,编码查询字符串似乎是唯一的答案。

Internet Explorer在查询字符串中遇到特殊字符问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37303976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档