【问题标题】:Wordpress site: Random Character Coding errorWordpress 网站:随机字符编码错误
【发布时间】:2012-07-01 19:52:04
【问题描述】:

我有一个 Wordpress 网站,它随机显示如下错误:

WordPress database error: [Incorrect string value: '\xF0\x9F\x92\x97\xF0\x9F...' for    column 'option_value' at row 1] UPDATE `wp_options` SET `option_value` = 'a:95:{

这是一个占位符网站;使用 PhpMyAdmin 将数据从现有的 live 导出到 .sql 文件中。我怀疑存在某种字符编码问题?我已经通过任何“默认值”以及 UTF8 导出。在导入的数据库中,我分别尝试将字符编码和排序规则作为 UTF8(目前是这样)以及“Latin1 ISO8899 西欧”和“utf_general_ci”作为编码和排序规则,但没有运气。

我注意到当我在一段时间后访问该站点时发生了错误。

我能做什么? 谢谢!

【问题讨论】:

    标签: mysql wordpress encoding character utf8mb4


    【解决方案1】:

    【讨论】:

    • Mathias,是的,升级 MySQL 服务器是我的想法,但后来我们发现 Word Press 插件之一(与跟踪用户有关)是唯一引起问题的插件。我们删除了它,问题就消失了。您的“答案”似乎仍然是满足我们需求的一个很好的选择。谢谢!
    【解决方案2】:

    问题可能是编码不匹配。 utf8 最多可以存储 3 个字节的字符,utf8mb4 最多可以存储 4 个字节的字符。我猜您的 .sql 文件中的数据包含 utf8 不支持的稀有符号。尝试重新导入 .sql 文件,但将编码设置为 utf8mb4。我前段时间在 Joomla 中遇到过同样的问题。

    【讨论】:

    • 好的。尝试是否可以选择...谢谢!
    • 不是一个选项。这是 DDL: CREATE DATABASE XXXXXXX CHARACTER SET 'utf8' COLLATE 'utf8_general_ci'; (也许我可以做一个 'alter' 语句来尝试 UTf8mb4。或者可以尝试将 'option_value' 列从 Longtext 更改为其他内容?谢谢。
    • 我会尝试将其更改为 ...CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_general_ci'。
    【解决方案3】:
    我今天遇到了同样的问题。 经过多次尝试,我终于找到了原因并修复了它。 对于使用默认 MySQL 字符集和排序规则(latin1、latin1_swedish_ci)存储数据的应用程序,因此您需要在创建数据库或表时将字符集和排序规则指定为 utf8/utf8_general_ci。 例如。: $sql = "创建表" 。 $table_name 。 " ( id mediumint(9) NOT NULL AUTO_INCREMENT, 书名 varchar(128) NOT NULL, 作者 varchar(64) NOT NULL, 主键(id), KEY(书名) )字符集 utf8 整理 utf8_general_ci;"; 参考: 《mysql建表问题?解决了!!!!!!!!!!!” http://forums.mysql.com/read.php?121,193883,193883 《10.1.5.为应用程序配置字符集和排序规则》 http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html 希望这可以帮助你。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 2011-08-24
      相关资源
      最近更新 更多