我检查了我的网页的HTML代码并使用Firefox's HTML Validator add-on对其进行了验证,我看到它抱怨链接的href
属性,其中包含Unicode字符,这些字符不是URL编码的。
当前网址为:
<a href='/اخبار'>Persian News</a>
但是,验证者希望它是:
<a href='/%D8%A7%D8%AE%D8%A8%D8%A7%D8%B1'>Persian News</>
我几乎在每个浏览器中测试过此链接(甚至回到IE6)。它工作得很好。那么,这里的问题是什么?我为什么要编码呢?验证器是否已过期?如果href
标记的<a>
属性中没有URL编码Unicode字符,我可能会遇到什么问题?
答案 0 :(得分:4)
只能使用ASCII字符集通过Internet发送URL。
通常,浏览器会为您进行编码。
答案 1 :(得分:3)
不支持此语言(编码)的浏览器将无法打开该URL。您应对其进行编码,以确保每个人都能够使用您网站的所有功能。
答案 2 :(得分:1)
是的,我已经测试过了
<meta http-equiv="Content-type" content="text/html; charset=windows-1251"/>
这意味着俄罗斯和链接只是转
<a href="/?????">Persian News</a>
所以你需要一个合适的字符集和编码,使其工作正常。
答案 3 :(得分:1)
这取决于您希望页面符合的标准:
对于(X)HTML5,包含非ASCII字符(即IRI)的URI有效,只要您的文档以UTF-8或UTF-16编码并且相应地发送MIME标头。 / p>
在HTML4 / XHTML1文档中,所有非ASCII字符都必须进行转义。