rkg*_*rkg 6 language-agnostic url ascii internationalization url-encoding
我们目前正在开展I18N项目.我想知道在URL中使用非ascii字符有什么复杂性.如果不可取,有什么办法可以解决这个问题?
编辑(回应Maxym的回答):该网站将成为特定国家的本地网站,我不必担心全世界公众访问该网站.我明白从可用性的角度来看,这真的很烦人.与此相关的其他技术问题是什么?
可以使用IDNA使用非 ASCII/非拉丁域名。此外,您始终可以%20
在 URL 中使用百分比编码(如空格)。RFC 3986推荐结合百分比的 UTF-8 编码:
数据首先应根据 UTF-8 字符编码编码为八位字节;那么只有那些与非保留集中的字符不对应的八位字节才应该被百分比编码。(...) 例如,字符 A 将表示为“A”,字符 LATIN CAPITAL LETTER A WITH GRAVE 将表示为“%C3%80”,字符 KATAKANA LETTER A 将表示为“% E3%82%A2"。
现代客户端(Web 浏览器)能够在百分比编码和 Unicode 之间来回转换,因此 URL 作为 ASCII 传输,但对用户来说看起来很漂亮。
确保您使用的网络框架/CMS 也能理解这种编码,以简化来自网站管理员/内容编辑器的 URL 输入。