URL中的Unicode字符
2010年,您会在大型门户网站中提供包含UTF-8字符的网址吗?
根据URL上的RFC,禁止Unicode字符(请参阅此处)。 他们必须将百分比编码为符合标准。
不过,我的主要观点是为未编码字符提供非常漂亮的URL,因此编码百分比已不存在。
无论RFC说什么,所有主流浏览器似乎都会解析这些URL。 然而,我的一般印象是,离开网络浏览器的领域时,它变得非常不稳定:
我的印象是否正确,因为在这里可能会遇到麻烦,因此,如果您服务的是非技术性的受众群体,那么它不是一个实际的解决方案,即使引用并传递了所有链接也很重要,这一点非常重要。
有没有什么神奇的方式在HTML中提供漂亮的网址
http://www.example.com/düsseldorf?neighbourhood=Lörick
可以复制+粘贴完整的特殊字符,但在旧客户端重复使用时可以正确工作?
使用百分比编码。 现代浏览器将负责显示和粘贴问题并使其易于阅读。 例如, http://ko.wikipedia.org/wiki/위키백과:대문
编辑:当你在Firefox中复制这样的URL时,剪贴板将保存百分比编码的表单(这通常是件好事),但是如果仅复制其中的一部分,它将保持未编码状态。
Tgr说什么。 背景:
http://www.example.com/düsseldorf?neighbourhood=Lörick
这不是一个URI。 但它是一个IRI。
您无法在HTML4文档中包含IRI; 像href
这样的属性类型被定义为URI而不是IRI。 无论如何,一些浏览器会处理IRI,但这不是一个好主意。
要将IRI编码为URI,请采用路径和查询部分,使用UTF-8编码,然后对非ASCII字节进行百分比编码:
http://www.example.com/d%C3%BCsseldorf?neighbourhood=L%C3%B6rick
如果在IRI的主机名部分有非ASCII字符,例如。 http://例え.テスト/
,它们使用Punycode进行编码。
现在你有一个URI。 这是一个丑陋的URI。 但是大多数浏览器会为你隐藏:将其复制并粘贴到地址栏中,或者在链接中跟着它,你会看到它显示的是原始的Unicode字符。 维基百科已经使用了很多年,例如:
http://en.wikipedia.org/wiki/ɸ
一个浏览器的行为是不可预知的,并不总是显示漂亮的IRI版本是......
...好吧,你知道的。
根据您的URL方案,您可以使UTF-8编码部分“不重要”。 例如,如果您查看Stack Overflow URL,它们的格式如下所示:
http://stackoverflow.com/questions/2742852/unicode-characters-in-urls
然而,服务器实际上并不关心你是否在标识符错误后得到部分,所以这也适用:
http://stackoverflow.com/questions/2742852/これは、これを日本語のテキストです
所以,如果你有这样的布局,那么你可以在标识符之后的部分中使用UTF-8,如果它出现乱码则无关紧要。 当然这可能只适用于某些特殊的情况。
链接地址: http://www.djcxy.com/p/70213.html上一篇: Unicode characters in URLs
下一篇: Brackets in a Request URL are legal but not in a URI (Java)?