【问题标题】:Some characters become "�" in our webpage有些字符在我们的网页中变成了“�”
【发布时间】:2013-11-11 05:35:12
【问题描述】:

标签: php string encoding


【解决方案1】:
  1. 检查您的 .php 文件是否编码为没有 BOM 的 UTF-8
  2. 检查您与数据库的连接是否为 UTF-8
  3. 检查您是否在 <head> 标记的 HTML 标记中发送了 <meta charset="utf-8">

如果您与数据库的连接不是 UTF-8 并且您不想更改它(但我推荐它 -> 所有 UTF-8 都是针对字符垃圾最安全的解决方案)使用 utf8_encode($databaseValue) 以确保您的值的编码是 UTF-8。

【讨论】:

  • 我还会检查 Apache/PHP 配置以发送默认字符集 utf8,主要问题是你提到的第一点,文件内容本身当然应该是 utf8
  • 我使用 utf8_encode 字符不再存在。但是,原来的字符 也不见了。这有点奇怪。
  • mysqli_set_charset($link, "utf8") 解决了问题,非常感谢。
【解决方案2】:

确保您使用:

<meta charset="utf-8"> 

在页面的顶部。

【讨论】:

    【解决方案3】:

    您需要在 html 的“head”部分添加字符集元标记。 请注意,元标记必须出现在呈现页面的前 1024 个字节内。

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

    【讨论】:

      猜你喜欢
      • 2019-03-05
      • 2019-07-15
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 2015-02-20
      • 1970-01-01
      相关资源
      最近更新 更多