Php HTML5+;UTF-8:我是否需要对GBP符号(£;)进行编码?

Php HTML5+;UTF-8:我是否需要对GBP符号(£;)进行编码?,php,mysql,html,utf-8,Php,Mysql,Html,Utf 8,我原以为utf-8能够处理一个整洁的,,而不必转换成实体 使用UTF-8和HTML5处理GBP符号的正确方法是什么 (注:不要认为html5部分会有任何不同) 更新: 以下是测试文件: <!doctype html> <head> <meta charset="utf-8"> <title>GBP Test</title> </head> <body> £55 <br /> &

我原以为utf-8能够处理一个整洁的
,而不必转换成实体

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

(注:不要认为html5部分会有任何不同)


更新:

以下是测试文件:

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

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

英镑测试
£55

&磅;55

谢谢大家的帮助

对于其他面临这种挫折的人来说,这个问题来自于你的文本编辑器。即使是非utf-8的记事本格式

解决方案:

将读写格式更改为 我的文本编辑器中的UTF-8()


就用这个角色吧。它会很好用的

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


相关:

简短的回答是,只要您将文档字符集声明为
UTF-8
(使用
内容类型
头、头中的
字符集元素或使用XHTML的
xml
编码
属性),就不需要对大多数字符使用实体

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

  • &=>&
  • =>
  • >
  • =>”
如果您使用的是XHTML(这也是有效的XML),那么还需要使用以下两种方式之一对单引号进行编码(同样,这取决于上下文):

  • &apos=>&apos
    
  • '=>'
  • '=>'
(请注意,后2个是首选项,因为HTML中未定义
&apos;

还要注意,&、需要到处转义,而“and”只需要在适当的属性内转义(因此,如果使用
”引用属性,则需要转义该属性内的所有其他
字符)


有关更多信息,请参阅…

您的页面编码声明为什么(在HTTP标头中或
中)?有什么问题?我认为UTF-8可以处理这个字符。@matts!已用示例更新page@Haroldo:这个例子怎么样?效果很好。@Haroldo对我来说很好:你可能有编码问题。检查浏览器的“编码”或“字符集”菜单。复选标记在哪里?我打赌它不在UTF-8上。你也不需要编码
,属性值除外。在上面的示例中(刚刚添加到问题中)它似乎不起作用-这是因为我的文本编辑器将其输入为非utf-8吗?还是其他原因?@Haroldo不确定
meta字符集
是否有效。试试@Matt Ball的建议,检查浏览器是否真正理解它(在编码菜单中)
也不起作用