unicode - 我应该在 URL 中使用重音字符吗?

标签 unicode internationalization friendly-url diacritics

当用英语以外的语言创建网页内容时,搜索引擎优化和用户友好 URL 的问题就会出现。

我想知道在 URL 中使用去重音字母是否是最佳实践 - 冒着某些单词在有或没有某些重音的情况下具有完全不同含义的风险 - 或者最好坚持使用非重音字母在适当的情况下使用英文字符,从而牺牲这些 URL 在不太高级的环境(例如 MSIE、查看源代码)中的可读性。

“异国情调”字母可能出现在任何地方:文档标题、标签、用户名等,因此它们并不总是处于网站维护者的完全监督之下。

当然,一种可能的方法是设置备用的(不带重音符号的)URL,该 URL 会指向原始目的地,但我想了解您对使用带重音符号的 URL 作为主要 URL 的看法。文档标识符。

最佳答案

这里没有歧义:RFC3986 says no ,即 URI 不能包含 unicode 字符,只能包含 ASCII。

完全不同的问题是浏览器在显示 URI 时如何表示编码字符,例如某些浏览器会在 URL 中显示空格而不是“%20”。这也是 IDN 的工作原理:punycoded 字符串由浏览器动态编码和解码,因此,如果您访问 Cafe.com,您实际上是在访问 xn--caf-dma.com。 URL 中看似 unicode 字符实际上只是浏览器的“视觉糖”:如果您使用不支持 IDN 或 unicode 的浏览器,则编码版本将无法工作,因为 URL 的底层定义只是不支持它,因此为了使其一致工作,您需要进行 % 编码。

关于unicode - 我应该在 URL 中使用重音字符吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1386262/

相关文章:

javascript - 我可以检测文本中的非日文汉字吗

ruby-on-rails - rails i18n 日期问题

angular - 我无法在 Angular 中动态更改语言

.htaccess - 配置文件系统的重写规则

python - 将字符串 '\u05d9\u05d7\u05e4\u05d9\u05dd' 转换为其在 python 中的 unicode 字符

c# - 从多字节编码到 Unicode 的转换

java - 使用数据库的 Struts2 国际化

.htaccess - API在url中配置参数

ASP.NET 关闭 FriendlyURLs mobile.master 页面

Python 脚本打印 unicode,在 shell ` ` 中使用导致错误