当我从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);