我认为utf-8只能处理一个整洁的£
,而不必转换为实体?
使用UTF-8和HTML5处理GBP符号的正确方法是什么?
(ps。不要认为html5部分应该有任何区别)
更新
这是测试文件:
<!doctype html>
<head>
<meta charset="utf-8">
<title>GBP Test</title>
</head>
<body>
£55
<br />
£55
</body>
感谢大家的帮助。
对于遇到这种挫败感的任何其他人来说,问题都来自于您的文本编辑器。甚至非utf-8中的记事本格式。
解决方案:
将读取和写入格式更改为 我的文本编辑器中的UTF-8(PHP Designer)
答案 0 :(得分:4)
只需使用该角色即可。它会工作正常。
当然,符号在UTF-8中的代码点与ISO-8859-1中的代码点不同。 ISO-8859-1编码的井号不适用于UTF-8,反之亦然。你必须转换它。
答案 1 :(得分:4)
简短的回答是,只要您将文档字符集声明为UTF-8
(使用Content-Type
标题,meta
,您就不需要为大多数字符使用实体头部中的charset
元素,或者带有XHTML的xml
encoding
属性... ...
您需要在UTF-8 HTML文档中编码的唯一字符是(取决于上下文):
&
=&gt; &安培; <
=&gt; &LT; >
=&gt; &GT; "
=&gt; “如果您使用的是XHTML(也是有效的XML),您还需要使用其中任何一个编码单引号(同样,取决于上下文):
'
=&gt; “'
=&gt; “'
=&gt; “(请注意,最后2个是首选,因为'
未在HTML中定义...)
另请注意&amp;,&lt;和&gt;需要在任何地方进行转义,并且“只需要在适当的属性中进行转义(因此,如果使用"
引用某个属性,则需要转义其中的所有其他"
个字符那个属性)......
有关详细信息,请参阅HTML 5 Draft