【问题标题】:html php meta charset UTF-8 not working? [duplicate]html php 元字符集 UTF-8 不起作用? [复制]
【发布时间】:2012-08-29 21:36:15
【问题描述】:

可能重复:
Browser displays � instead of ´

我有点卡在一个几乎只有 html 的 php 文件上。我只使用 PHP 将信息从联系表发送到我的邮件地址。

在本地主机上开发网站时,一切都很好。上传到我的服务器后,它会弄乱特殊字符。

我的元标记如下所示:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

如果有人可以帮助我,我们将不胜感激。

【问题讨论】:

  • 您的文件是否编码为 UTF-8(文件格式,而不是您显示的声明)?编码将由您的编辑器/ide 完成,使用不带 BOM 标头的 UTF-8。
  • 元标签是备用标签,只有在网络服务器未设置适当的标头时才会应用。如果 webserver 发送的是 content-type,meta 没有作用,所以检查 Response Headers 并进行相应的修改。
  • 我认为是,但不确定。我正在使用 Textmate 作为编辑器。当我单击文件>使用编码重新打开>UTF8并再次上传到我的服务器时。没有区别。

标签: php html utf-8 character-encoding meta


【解决方案1】:

将此添加到您的 php 文件的标题中,如果它解决了,请告诉我 -

header('Content-Type: text/html; charset=UTF-8');

【讨论】:

  • 太棒了!就是这样,非常感谢!你能解释一下为什么需要这样做吗?
  • @Swapnesh,我有一个问题,我试图将“印地语”字符串写入 MySQL 数据库 PHP 正在将其转换为“????”这就是我在mysql中可以看到的。为了隔离问题,当我直接将其放入 mysql 时,它会正确写入。你知道我该如何解决这个问题。 (我的数据库和表是UTF8,PHP配置设置为UTF8)
【解决方案2】:

如果您的浏览器被专门设置为具有ISO-8859-1 或其他字符集的字符集,它仍将显示在该字符集中。我认为这是我能检测到的唯一问题。

【讨论】:

    猜你喜欢
    • 2016-01-03
    • 1970-01-01
    • 2012-06-01
    • 1970-01-01
    • 2013-08-19
    • 2019-05-30
    • 1970-01-01
    • 2015-08-06
    • 1970-01-01
    相关资源
    最近更新 更多