Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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 ;编码问题_Php_Html_Utf 8_Iso 8859 1_Byte Order Mark - Fatal编程技术网

Php ;编码问题

Php ;编码问题,php,html,utf-8,iso-8859-1,byte-order-mark,Php,Html,Utf 8,Iso 8859 1,Byte Order Mark,我正在用PHP开发一个网站,这些奇怪的字符“ï»?”出现在我的页面上,就在页面的顶部。 我的代码是: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><?php echo '';?> <html xmlns="http://www.w3.org/1999/xhtml">

我正在用PHP开发一个网站,这些奇怪的字符“ï»?”出现在我的页面上,就在页面的顶部。 我的代码是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><?php echo '';?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

但当我在浏览器中看到源代码时,它显示如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
ï»

我不知道是否与我正在使用的编码有任何关系,因为当我将字符集更改为
charset=utf-8
时,它会消失,但我必须使用iso-8859-1

查看“页面信息”屏幕,看看浏览器认为您使用的字符集。很可能是您的web服务器使用其内容类型头强制使用UTF-8,这超过了
meta
标记。

这是一个,因为源代码文件保存为UTF-8 BOM。如果您必须使用它,请尝试将它们保存为UTF-8无BOM(或您的编辑器称之为的任何名称)或ISO-8859-1(…您为什么要使用它?)

如果您想使用
ISO-8859-1
,您需要将PHP文件保存为
ISO-8859-1

有关详细说明,请告诉我们您使用的编辑器


不过,我强烈建议您改用UTF8。

简单的解决方案,只需将html/php代码放在第一行,我就是这样做来解决这些问题的,这很有效。

为什么您必须使用
iso-8859-1
?我不知道是否必须这样做。我开始使用它是因为有些字符如“á”,“é”显示为�. 这是一个葡萄牙语网站(PT Br),如果您没有充分的理由使用ISO-8859-1,请不要使用。省去很多麻烦,什么都可以使用UTF-8。Unicode(UTF-8)可以对这个星球上几乎任何可能的字符进行编码,所有其他编码只能对有限的子集进行编码,因此您需要确保您永远不会使用该子集之外的字符。你需要一个很好的理由来限制自己。我要试着用UTF-8。但是那些讨厌的人呢� ? 我该怎么做才能让它们消失呢?还有,我昨天写的一句话:Mozilla Firefox说它使用的是iso-8859-1,这取决于你使用的编辑器。所以你在用什么编辑器?@Rafael抱歉,我不能告诉你在Eclipse中如何做。看看文档如何设置文件编码。哦,伙计。你救了我的命。将文件保存为ANSI文件解决了我的问题。我已经为此配置了Eclipse,但它仍然出现。您不认为OP将代码放对了吗?你为什么不检查被接受的答案(显然,它非常正确地描述了问题及其可能的解决方案)?