【问题标题】: encoding issue 编码问题
【发布时间】:2011-03-15 15:21:34
【问题描述】:

我正在使用 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

【问题讨论】:

  • 为什么必须使用iso-8859-1
  • 我不知道是否必须。我开始使用它是因为“á”、“é”等一些字符显示为�。这是一个葡萄牙语网站(PT-Br)
  • 如果您没有充分的理由使用 ISO-8859-1,请不要使用。为自己省去很多麻烦,只需将 UTF-8 用于所有内容。 Unicode(UTF-8)几乎可以编码这个星球上任何可能的字符,所有其他编码只能编码一个有限的子集,所以你需要确保你永远不会使用那个子集之外的字符。你需要一个很好的理由来限制自己。
  • 好的。将尝试使用 UTF-8。但是那些烦人的??我该怎么做才能让它们消失?
  • 另外,我昨天写的东西:stackoverflow.com/questions/3233743/…

标签: php html utf-8 iso-8859-1 byte-order-mark


【解决方案1】:

简单的解决方案,只需将你的html/php代码从第一行开始,我就是为了解决这些问题,它的工作。

【讨论】:

  • 您不认为 OP 没有 正确放置代码吗?你为什么不检查接受的答案(因为它 - 显然 - 非常正确地描述了问题及其可能的解决方案)?
【解决方案2】:

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

【讨论】:

  • 这取决于您使用的编辑器。那么...您使用的是什么编辑器?
  • @Rafael 抱歉,我无法告诉您如何在 Eclipse 中执行此操作。查看文档如何设置文件编码。
  • 天哪。你用那个救了我的命。将文件保存为 ANSI 文件解决了我的问题。
【解决方案3】:

如果你想使用iso-8859-1,你需要将你的PHP文件保存为iso-8859-1
如需详细说明,请告诉我们您使用的是哪个编辑器。

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

【讨论】:

  • 我已经为此配置了 Eclipse,它仍然出现。
【解决方案4】:

查看“页面信息”屏幕,查看浏览器认为您所处的字符集。很可能您的 Web 服务器使用其 Content-Type 标头强制使用 UTF-8,这胜过 meta 标记.

【讨论】:

  • Mozilla Firefox 说它正在使用 iso-8859-1
猜你喜欢
  • 2021-02-10
  • 1970-01-01
  • 2011-04-13
  • 2017-11-10
  • 1970-01-01
  • 2012-05-20
  • 2011-09-13
  • 2011-02-03
相关资源
最近更新 更多