我正在尝试通过html文件从xml输出文本.Xml文件是UTF-8格式。我在转换htmlentities($subcat->Name,ENT_QUOTES, "UTF-8")
后保存了字符串。字符串在xml中保存为£1.89 - £3.99 per M²
。
显示我使用了htmlentities_decode($cat->Name,ENT_QUOTES)
。但我收到此错误
实体'Acirc'未定义。 实体'磅'未定义
我想知道出了什么问题!
答案 0 :(得分:4)
首先不要使用htmlentities()
- XML中不支持大多数HTML实体。
请改用实际的字符数据。
要避免数据破坏XML中的<
和>
,请将数据包装在CDATA块中。
示例:
<product>
<price>
<![CDATA[£1.89 - £3.99 per m2]]>
</price>
</product>
答案 1 :(得分:0)
使用html_entity_decode
http://it.php.net/manual/en/function.html-entity-decode.php
没有htmlentities_decode
答案 2 :(得分:0)
如果您使用UTF-8作为源,然后以html格式输出,请记住设置正确的标题和元组:
<?php
header ('Content-type: text/html; charset=utf-8');
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
否则你在显示方面遇到问题。
无需解码/编码任何内容,因为Pekka建议您不应该首先对它们进行编码,而是使用CData块。 Ť 如果你正确设置标题和元数据,你只需输出它们。为您节省了大量的工作。
如果您的来源是编码,只需按原样将其输出到浏览器