Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP UK£;符号不一致性_Php - Fatal编程技术网

PHP UK£;符号不一致性

PHP UK£;符号不一致性,php,Php,我有两个类似的PHP页面,一个页面正确显示UK英镑符号,另一个页面显示一个黑色菱形和一个?在里面 为了诊断问题,我将代码删减,它们现在是相同的,但显示方式仍然不同。这怎么可能??? 这是密码 ` ` 在使用原始代码时,我似乎可以通过删除charset=utf8来修复其中一个,但如果我将其从另一个代码中删除,则它会以带有重音的大写字母a作为前缀 这里发生了什么?您已经在apache配置中配置了另一个字符集。也许您的php是通过ISO-8859-1处理的,您是在HTMLUTF-8中定义的。这是不

我有两个类似的PHP页面,一个页面正确显示UK英镑符号,另一个页面显示一个黑色菱形和一个?在里面

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


`
在使用原始代码时,我似乎可以通过删除charset=utf8来修复其中一个,但如果我将其从另一个代码中删除,则它会以带有重音的大写字母a作为前缀


这里发生了什么?

您已经在apache配置中配置了另一个字符集。也许您的php是通过
ISO-8859-1
处理的,您是在HTML
UTF-8
中定义的。这是不一致的。尝试在apache配置中定义
UTF-8

见此帖:

在httpd.conf中添加(或更改,如果已经存在):

AddDefaultCharset utf-8


出现此问题的原因是PHP文件以不同的编码保存。表现正常的文件编码为UTF-8,而有问题的文件编码为Windows-1252。我使用的是Bluefish,它看起来都不错,但是当我对文件运行
cat
命令时,我可以看到奇怪的字符


谢谢你的帮助

您的文本编码在某种程度上是混乱的。您正在声明
charset=utf8
。确保您的字符集真的是UTF-8。检查文本编辑器。可能是使用不同编码保存到磁盘的实际文件?查看两台服务器的内容类型(和内容编码)http头。此外,您还可以使用
£
在HTML中,而不是复制和粘贴磅符号本身,这两个文件都位于同一服务器上。如何检查实际文件的编码?我已将AddDefaultCharset utf-8添加到httpd.conf并重新启动,但问题仍然存在。
<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>`