Let's say I want to put a non-bland character in an HTML file; for instance, '→'. Is there any reason why I should enter it as '→' instead of just putting '→' in the HTML file? Assume my HTML file is encoded & transmitted in some Unicode format.

#1 楼

这两个最后的陈述是个大假设。例如,我们有一个Web应用程序,其字面意思是使用AJAX -我们使用它来动态加载XML文档。如果XML文档没有正确的content-encoding标头(或根本没有一个标头),则任何unicode字符(智能引号,长破折号,甚至某些特殊的空白和单词Café)都会使Internet Explorer每次都陷入困境。 AJAX请求只是失败,并引发javascript错误。

但是,如果我们在服务器端用HTML实体替换所有unicode字符,则一切正常。

当然,如果您的文件具有正确的内容标题,那么对于任何现代浏览器来说,这都不是问题。

#2 楼


但是,如果我们在服务器端用HTML实体替换所有unicode字符,则一切正常。


这假定所有字符都可以用HTML替换-实体,他们做不到。使用正确的标头并尽早发现这些问题(使用错误的标头),而不会在以后出现时感到困惑。

评论


实际上,每个Unicode字符都有一个适当的HTML实体。

–马克·亨德森(Mark Henderson)
2010年8月20日,11:34



哦,我不好,我在想命名实体。 :)

–金
10年8月22日在12:48

#3 楼

只是增加了一个公认的极好的答案:总体而言,ASCII文件在各种编辑器之间的移植性更高。