PHP显示特殊字符

时间:2011-06-07 10:42:59

标签: php

当我从xml文件输出£3.99 /M²时,浏览器会显示 它为£3.99每M² .XML文件是UTF-8格式。我想知道如何解决 此

2 个答案:

答案 0 :(得分:6)

确保输出的是UTF-8。转换听起来像你的源是UTF-8,但你告诉浏览器期待别的东西(Latin1?)。您应该向浏览器发送一个标题,指示UTF-8即将发布,您应该拥有正确的元标题:

 <?php
 header ('Content-type: text/html; charset=utf-8');
 ?>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 </head>
 <body>
 <?php echo "£3.99 per M²"; ?>
 </body>
 </html>

这应该可以正常工作。

答案 1 :(得分:4)

你应该编码html实体:

你可以尝试

htmlentities($str, ENT_QUOTES, "UTF-8");

查看here以获取完整的参考资料

如果您仍有问题,有时您还必须使用utf8_decode()解码字符串 所以你可以试试:

$str = utf8_decode($str);
$str = htmlentities($str, ENT_QUOTES);