当我从xml文件输出£3.99 /M²时,浏览器会显示 它为£3.99每M² .XML文件是UTF-8格式。我想知道如何解决 此
答案 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);