|
|
1
26
URI是显式的(经过%解码)字节序列。这些字节映射到的Unicode字符不是由URI标准或HTTP:schema-URI的HTTP标准指定的。 具体来说,对于查询参数:web浏览器将使用原始页面的编码来生成表单提交GET URL,因此,如果您有ISO-8859-1中的页面,并且您将其放入搜索框中,您会得到什么?search=%E9,但如果你在编码为UTF-8的页面中执行同样的操作,你会得到什么?搜索=%C3%E9。如果你的表单页面没有使用任何特定的字符集,浏览器会猜测,这是你不想要的,因为这将使你无法猜测提交的格式。 对于URL的其他部分,浏览器不会自己生成它们,但如果你在链接中提供非ASCII字符,它通常会将其编码为UTF-8。这是不可靠的,因为它取决于浏览器和区域设置,所以现在最好不要使用它。 正确允许链接中使用非ASCII字符的标准是 IRI Punycode 相反。为了兼容性,最好不要依赖浏览器理解链接中的IRI。相反,您可以自己对路径和参数字符进行UTF-8编码。在现代浏览器中,它们仍将作为正确的字符出现在地址栏中;不幸的是,IE不会在所有情况下显示解码后的字符IRI表单,具体取决于语言设置。 希腊文gamma字符的Wiki IRI是:
|
|
|
2
2
每 RFC 2616 ,
和
|
|
|
3
1
编辑:
|