我建议将我的windows-1252 XHTML网页转换为UTF-8。
我的编码中有以下字符实体:
'
- 撇号,►
- 右指针,◄
- 左指针。如果我更改了charset并使用我的编辑器将页面保存为UTF-8:
问题:
如果我正确理解UTF-8,您不需要使用实体,可以直接在代码中输入字符。在哪种情况下,我可以安全地用键入的撇号替换#39
?
编辑器将指针符号直接放入我的代码中是否正确,并且这些可以在现代浏览器上可靠地显示,似乎没问题?据推测,如果我使用UTF-8,我无法回复实体?
感谢。
答案 0 :(得分:2)
这是charset,而不是chartset。
1)它取决于撇号的使用位置,它也是一个有效的ASCII字符,因此取决于字符意图(仅用于显示(在DOMText节点内)或在代码中使用)你可能会也可能不会能够使用文字撇号。
2)如果你的编辑器是一个现代编辑器,它将使用utf序列而不是char来显示文本。代码中使用的大多数序列只是纯ASCII(而ASCII是utf8的子集),因此这些字符占用一个字节。其他字符可能以专门的方式占用两个,三个甚至四个字节。它们仍将作为一个字符显示给您,但字符和字节之间的关系变得不同。
反正;因为所有有效的ASCII字符在ASCII,utf8甚至是windows-1252中完全相同。你不应该看到使用utf8的任何问题。您仍然可以使用数字和命名实体,因为它们是用这些有效字符编写的。你没必要。
P.S。所有现代浏览器都可以使用utf8。但我们对“ modern ”的定义可能有所不同。
答案 1 :(得分:1)
实体有三个目的:编码字符无法使用所使用的字符编码进行编码(与UTF-8无关),编码字符在给定键盘上键入不方便,以及编码非法字符未逸出。
无论编码是什么, ►
都应该始终生成►。如果没有,那就是其他地方的错误。
►
在UTF-8中很好。你可以做那个或实体,但没有区别。
'在大多数情况下都很好,但不是一些。以下是允许的:
<span title="Jon's example">This is Jon's example</span>
但必须编码:
<span title='Jon's example'>This is Jon's example</span>
因为否则它将被视为'结束属性值。
答案 2 :(得分:0)
如果您从文字处理程序复制/粘贴内容或代码是XML方言,请使用实体。在文本编辑器中使用宏来一次查找/替换常见的宏。这是一个简单的列表:
½
é
&
'
`
\
•
$
¢
…
—
–
“
”
<强>参考强>