Wab*_*son 58 unicode friendly-url diacritics internationalization
当用不同于英语的语言创建Web内容时,会出现搜索引擎优化和用户友好URL的问题.
我想知道在URL中使用去重音字母是否是最好的做法 - 冒着某些词语在有和没有某些口音的情况下有完全不同的含义 - 或者最好坚持使用非英语字符适当牺牲不太高级环境中这些URL的可读性(例如MSIE,查看源代码).
"异国情调"字母可以出现在任何地方:文档标题,标签,用户名等,因此它们并不总是受到网站维护者的全面监督.
当然,一种可能的方法是设置备用 - 非重音 - URL,这些URL指向原始目标,但我想了解您对使用重音URL作为主要文档标识符的看法.
Syn*_*hro 33
这里没有歧义:RFC3986说不,也就是说,URI不能包含unicode字符,只能包含ASCII.
一个完全不同的问题是浏览器在显示URI时如何表示编码字符,例如某些浏览器将在URL中显示空格而不是'%20'.这就是IDN的工作原理:由编码器对编码和编码的惩罚字符串进行编码和解码,所以如果你访问café.com,你真的要访问xn--caf-dma.com.URL中的unicode字符实际上只是浏览器中的"视觉糖":如果您使用的浏览器不支持IDN或unicode,编码版本将无法工作,因为URL的基础定义只是不支持它,所以要使它一致地工作,你需要%编码.
Bob*_*man 14
当遇到类似的问题时,我利用URL重写来允许这些页面可以被重音或非重音字符访问.实际的URL就像是
http://www.mysite.com/myresume.html
Run Code Online (Sandbox Code Playgroud)
并且重写+字符翻译功能允许此参考
http://www.mysite.com/myresumé.html
Run Code Online (Sandbox Code Playgroud)
加载相同的资源.所以要回答你的问题,作为主要资源标识符,我将自己限制在0-9,AZ,az和偶尔的连字符.
Pas*_*TIN 10
考虑带有重音的网址往往看起来像这样:
http://fr.wikipedia.org/wiki/%C3%89l%C3%A9phant
Run Code Online (Sandbox Code Playgroud)
...这不是那么好......我想我们仍然会在一段时间内使用去重音的URL.
但是,事情应该变得更好,因为现在网页浏览器已经接受了带重音的URL.
我目前正在使用的Firefox 3.5以不错的方式显示URL,而不是%stuff,btw; 这似乎是自firefox 3.0以来的"新"(参见Firefox 3:位置栏中的UTF-8支持); 所以,IE 6中可能不支持,至少 - 并且仍然有太多人使用这个:-(
也许没有重音的网址看起来不是最好的; 但是,人们已经习惯了他们,而且似乎对他们的理解也很好.
您应该避免用户手动在浏览器中输入的URL中的非ASCII字符.对服务器预编码的嵌入式链接没问题.
我们发现浏览器可以用不同的方式对URL进行编码,并且很难弄清楚它使用的编码.看到我在这个问题上的问题,