PHP UK符号不一致

时间:2016-02-08 16:11:51

标签: php

我有两个类似的PHP页面,一个正确显示英国英镑符号,另一个显示黑色钻石?在它。

为了诊断问题,我将代码缩减了,现在它们是相同的,但仍然以不同的方式显示。怎么可能??? 这是代码 `

<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta http-equiv="Content-Type" content="text/html; charset=utf8">
</head>

<body>
<?php
echo '<p>';

echo "£"."123";

?>
</body>

</html>`

在使用原始代码时,我似乎可以通过删除charset = utf8来修复它,但是如果我从另一个中删除它,那么它会带有带有重音的大写字母A前缀。

这里发生了什么?

2 个答案:

答案 0 :(得分:1)

您已在apache配置中配置了另一个字符集。也许你的php被ISO-8859-1占用,你在HTML UTF-8中定义。这是不一致的。尝试在apache配置中定义UTF-8

见这篇文章:

How to change the default encoding to UTF-8 for Apache?

  

在httpd.conf中添加(或者如果它已经存在则进行更改):

     

AddDefaultCharset utf-8

答案 1 :(得分:1)

问题发生的原因是PHP文件以不同的编码保存。表现良好的一个编码 UTF-8 ,而有问题的文件编码 Windows-1252 。我使用Bluefish并且它在那里看起来都很好,但是当我在文件上运行cat命令时,我可以看到奇怪的字符。

感谢您的帮助!