【问题标题】:PHP & mySQL - ë written as ë [duplicate]PHP & mySQL - ë 写成 ë [重复]
【发布时间】:2011-11-28 09:35:04
【问题描述】:

可能重复:
PHP messing with HTML Charset Encoding

我们遇到了特殊字符被转换的情况。

这是什么原因造成的?我们该如何解决?

例如:

ë becomes ë

谢谢。

【问题讨论】:

标签: php mysql


【解决方案1】:

如果这是一个 PHP 脚本的输出,我猜你可以考虑mb_internal_encoding() 函数。

或者您可以通过 HTML 编码元标记来解决这个问题。喜欢<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 里面的<head>...</head>

【讨论】:

  • 网络服务器或php脚本发送的字符集HTTP头优先级高于html元标记。
  • 然而这将是某些浏览器的解决方案
【解决方案2】:

可以在很多地方设置字符集。

  • 表格字符集
  • 字段字符集
  • PHP-MySQL 连接字符集
  • Apache 默认字符集
  • 在 HTML 元信息中

确保在任何地方都使用 UTF-8,并且不要忘记在第一个查询之前正确设置连接:

mysql_query("SET NAMES 'utf8'");

【讨论】:

    【解决方案3】:

    确保您在 HTML document 和 PHP header 的函数中设置您的字符集。

    另外,您可以尝试将 MySQL 中的第一个查询设为 SET NAMES=UTF8 (SET NAMES utf8 in MySQL?)

    【讨论】:

      【解决方案4】:

      这是一个 utf-8 字符,你可以通过 PHP 中的 utf8_encode() 和 utf8_decode() 来解析它

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多