PHP显示特殊字符


PHP Display Special Characters

当我从xml文件输出文本每M²3.99英镑时,浏览器显示它是每M²3.99英镑。XML文件是UTF-8格式的。我想知道如何修复这

确保输出的是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>

这应该能正常工作。

您应该对html实体进行编码:

你可以试试

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

在这里查找完整的参考

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

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