0

我正在用芬兰语写一个标记文档。

我正在使用该lang="fi-fi"属性。我应该将标记实体(äforä等)与语言属性结合使用,还是单独使用语言属性就足够了?实体和语言属性如何相互影响?

“问题”来自这样一个事实,即标记是在没有实体的情况下编写的,并且我有一个脚本应该通过使用正则表达式将扫描字母替换为实体——在定义 lang 属性后,脚本似乎不再起作用(它应该在添加lang属性之前完成)。

我主要担心的是,无论浏览器如何,标记都能正确呈现,尽管可以假设是“现代”浏览器。

4

2 回答 2

0

我的问题的根源实际上是字符编码。尽管所有文档都是用 UTF-8 定义的,但脚本不知何故无法识别它。通过告诉脚本输入文件(应该用实体修复)是 UTF-8 编码的,脚本再次正确运行。

作为对标题中问题的回答:绝对确定文档与服务器兼容——是的,我应该使用实体编码(尽管我知道假设服务器允许 UTF-8 是非常安全的假设一般来说,正如昆汀所暗示的那样)。由于其他原因(与自动生成内容有关),我也应该使用该lang属性。

于 2015-08-04T07:26:28.590 回答
0

lang属性和实体做完全不同的工作。

lang属性告诉解析器文档是用什么人类语言编写的。例如,这允许搜索引擎判断它是否是一个好的文档,以呈现给 Finish 扬声器和屏幕阅读器软件以选择正确的发音库。

实体只是让您表示您无法以其他方式表示的字符。例如

  • 因为您无法键入键盘的字符
  • 因为文档保存的字符编码(例如ASCII)不包括字符。本世纪,您应该几乎在任何地方都使用 UTF-8,不必担心这一点。
  • 因为该字符在 HTML 中将具有特殊含义(例如<)。

  • lang如果您知道文档文本将使用哪种语言编写,请始终使用属性
  • 始终对 HTML 中具有特殊含义的字符使用实体
  • 如果您可以合理地确定字符编码不会被破坏(大多数情况下),请使用文字字符,因为它们使用更少的字节并且更容易在源代码中阅读。
于 2015-07-31T13:37:30.803 回答