HTML5 + UTF-8:我需要编码GBP符号(£)吗?

时间:2010-11-18 15:04:33

标签: php mysql html utf-8

我认为utf-8只能处理一个整洁的£,而不必转换为实体?

使用UTF-8和HTML5处理GBP符号的正确方法是什么?

(ps。不要认为html5部分应该有任何区别)


更新

这是测试文件:

<!doctype html>  
<head>
  <meta charset="utf-8">
  <title>GBP Test</title>
</head>

<body>
£55
<br />
&pound;55
</body>

感谢大家的帮助。

对于遇到这种挫败感的任何其他人来说,问题都来自于您的文本编辑器。甚至非utf-8中的记事本格式。

  

解决方案:

     

将读取和写入格式更改为   我的文本编辑器中的UTF-8(PHP Designer

2 个答案:

答案 0 :(得分:4)

只需使用该角色即可。它会工作正常。

当然,符号在UTF-8中的代码点与ISO-8859-1中的代码点不同。 ISO-8859-1编码的井号不适用于UTF-8,反之亦然。你必须转换它。

相关:When Should One Use HTML Entities

答案 1 :(得分:4)

简短的回答是,只要您将文档字符集声明为UTF-8(使用Content-Type标题,meta,您就不需要为大多数字符使用实体头部中的charset元素,或者带有XHTML的xml encoding属性... ...

您需要在UTF-8 HTML文档中编码的唯一字符是(取决于上下文):

  • &amp; =&gt; &安培;
  • &lt; =&gt; &LT;
  • &gt; =&gt; &GT;
  • &quot; =&gt; “

如果您使用的是XHTML(也是有效的XML),您还需要使用其中任何一个编码单引号(同样,取决于上下文):

  • &apos; =&gt; “
  • &#39; =&gt; “
  • &#x0027; =&gt; “

(请注意,最后2个是首选,因为&apos;未在HTML中定义...)

另请注意&amp;,&lt;和&gt;需要在任何地方进行转义,并且“只需要在适当的属性中进行转义(因此,如果使用"引用某个属性,则需要转义其中的所有其他"个字符那个属性)......

有关详细信息,请参阅HTML 5 Draft