编码问题

时间:2010-07-14 01:31:20

标签: 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">
<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更改为charset=utf-8时它会消失,但我必须使用iso-8859-1

4 个答案:

答案 0 :(得分:18)

那是BOM character,因为源代码文件保存为UTF-8 BOM。尝试将它们保存为UTF-8无BOM(或编辑所称的任何内容)或ISO-8859-1(如果必须使用它)(...为什么会这样?)。

答案 1 :(得分:3)

如果您想使用iso-8859-1,则需要将PHP文件另存为iso-8859-1 有关详细说明,请告诉我们您正在使用哪个编辑器。

但是,我强烈建议你改用UTF8。

答案 2 :(得分:0)

查看“页面信息”屏幕,看看浏览器认为你所处的字符集。可能性是你的网络服务器强制使用其内容类型标题的UTF-8,胜过{{1} } tag。

答案 3 :(得分:-1)

简单的解决方案,只是放置你的html / php代码是从第一行开始,我只是这样做来解决这些问题,而且它的工作。