2010-10-13 127 views
2

我建议我的窗口1252 XHTML网页转换为UTF-8。字符集,UTF8和字符实体

我在我的编码以下字符实体:

  • ' - 撇号,
  • ► - 右指针,
  • ◄ - 左指针。

如果我改变字符集,并使用我的编辑保存网页为UTF-8:

  • 撇号仍然在为一个字符实体;
  • 指针被转换为代码内的符号(这大概是因为实体还没有UTF-8支撑?)。

问题:

  1. 如果我没有理解UTF-8正确,你不需要使用实体和可以直接键入字符转换成代码。在这种情况下,我可以用键入的撇号替换#39安全吗?

  2. 它是正确的,因为编辑器已直接放置指针符号到我的代码,并且将这些被现代浏览器中显示的可靠,这似乎是确定?据推测,如果我使用UTF-8,我无法回复实体?

谢谢。

回答

1

实体有三个用途:编码字符不可能在所使用的字符编码中进行编码(与UTF-8不相关),编码字符不便于在给定键盘上键入以及编码字符非法转转。

►应该总是生成►不管什么编码。如果没有,这是其他地方的错误。

直接在源代码中是UTF-8。你既可以做,也可以做实体,它没有区别。

'在大多数情况下都很好,但不是一些。以下都是允许的:

<span title="Jon's example">This is Jon's example</span> 

但必须在被编码:

<span title='Jon&#x27;s example'>This is Jon's example</span> 

,否则为“在结束的属性值也将采取。

+0

谢谢乔恩,我的一些关键字包括撇号,你知道搜索引擎是如何解释的实体?例如,他们是否会看到与小部件相同的小部件?我一直在想,如果他们停止在实体,只是看到部件。这是我在这种情况下不使用实体的一个很好的理由。 – cranfan 2010-10-13 10:39:50

+0

一个搜索引擎不能遵循HTML的基本规则,从源头上知道'''与'''相同(或者甚至'J'与'J'相同,只是从来没有这点很重要)不值得担心。实际上,他们不仅会理解它是一个撇号,他们在确定是否将撇号与搜索词相匹配时甚至会相当复杂。 – 2010-10-13 13:31:26

2

它的字符集,而不是chartset。

1)它取决于使用撇号的位置,它也是一个有效的ASCII字符,因此取决于字符意图(仅用于显示(在DOMText节点内)还是用于代码中),您可能会也可能不会能够使用文字撇号。

2)如果你的编辑器是一个现代的编辑器,它会使用UTF序列,而不只是烧焦显示文本。代码中使用的大部分序列都是纯ASCII(而ASCII是utf8的子集),因此这些字符将占用一个字节。其他字符可能会以专门的方式占用两个,三个甚至四个字节。它们仍然会作为一个字符显示给您,但字符和字节之间的关系已经变得不同。

无论如何;因为所有有效的ASCII字符在ASCII,utf8甚至windows-1252中都完全相同。你不应该看到使用utf8的任何问题。而且您仍然可以使用数字和命名实体,因为它们是用这些有效字符编写的。你只是不需要。

P.S.所有现代浏览器都可以做utf8。但我们对“现代”的定义可能有所不同。

0

如果您从文字处理程序复制/粘贴内容,或者代码是XML方言,则使用实体。在你的文本编辑器中使用一个宏来查找/替换一个镜头中的常见宏。下面是一个简单的列表:

  • 半:½=>&#189;
  • 锐音符:E =>&#233;
  • 与号:& =>&#38;
  • 撇号:'=>&#39;
  • BACKTICK :'=>&#96;
  • 反斜杠:\ =>&#92;
  • 子弹:•=>&#8226;
  • 美元符号:$ =>&#36;
  • 美分登录:¢=>&#162;
  • 省略号:... =>&#8230;
  • Emdash: - =>&#8212;
  • Endash: - =>&#8211;
  • 左引用:“=>&#8220;
  • 右引用:” =>&#8221;

参考