Mysql Wordpress站点:随机字符编码错误

Mysql Wordpress站点:随机字符编码错误,mysql,wordpress,encoding,character,utf8mb4,Mysql,Wordpress,Encoding,Character,Utf8mb4,我有一个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文件中。我怀疑有某种字符编

我有一个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(目前是UTF8),以及“Latin1 ISO8899西欧”和“utf_general_ci”分别作为编码和排序,但没有成功

我注意到,当我在一段时间后访问站点时,会发生错误

我能做什么?
谢谢

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

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

我最近写了一篇文章。如果您按照那里的步骤操作,一切都应该正常工作。以下是流程中每个步骤的直接链接:

    • 我最近写了一篇文章。如果您按照那里的步骤操作,一切都应该正常工作。以下是流程中每个步骤的直接链接:

      我今天遇到了同样的问题。 经过多次尝试,我终于找到了原因并修复了它。 对于使用默认MySQL字符集和排序规则(latin1、latin1_swedish_ci)存储数据的应用程序,因此在创建数据库或表时,需要将字符集和排序规则指定为utf8/utf8_general_ci。 例如。: $sql=“创建表”$表格名称。" ( id mediumint(9)非空自动增量, bookname varchar(128)不为空, 作者varchar(64)不为空, 主键(id), 键(书名) )字符集utf8校对utf8_常规_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 希望这能对你有所帮助。 我今天遇到了同样的问题。 经过多次尝试,我终于找到了原因并修复了它。 对于使用默认MySQL字符集和排序规则(latin1、latin1_swedish_ci)存储数据的应用程序,因此在创建数据库或表时,需要将字符集和排序规则指定为utf8/utf8_general_ci。 例如。: $sql=“创建表”$表格名称。" ( id mediumint(9)非空自动增量, bookname varchar(128)不为空, 作者varchar(64)不为空, 主键(id), 键(书名) )字符集utf8校对utf8_常规_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 希望这能对你有所帮助。
      好啊如果这是一个选项,请尝试。。。谢谢没有选择。以下是DDL:CREATE DATABASE
      XXXXXXX
      CHARACTER SET'utf8'COLLATE'utf8\u general\u ci';(可能是我可以做一个'alter'语句来尝试UTf8mb4。或者可能是尝试将'option_value'列从Longtext更改为其他内容?谢谢。我会尝试将其更改为…字符集'UTf8mb4'对比'UTf8mb4_general_ci'。好的。如果这是一个选项,请尝试…谢谢!不是选项。这是DDL:CREATE DATABASE
      XXXXXXX
      CHARACTER集合“utf8”与“utf8”比较;(可能是我可以做一个'alter'语句来尝试UTf8mb4。或者可能是尝试将'option_value'列从Longtext更改为其他内容?谢谢。我会尝试将其更改为…字符集'UTf8mb4'对比'UTf8mb4_general_ci'。Mathias,是的,我想到了MySQL服务器的升级,但后来我们发现其中一个Word Press插件(与跟踪用户有关)是唯一导致问题的。我们删除了它,问题就消失了。您的“答案”似乎仍然是满足我们需求的一个很好的选择。谢谢!Mathias,是的,我想到了MySQL服务器的升级,但后来我们发现其中一个Word Press插件(与跟踪用户有关)是唯一导致问题的。我们删除了它,问题就消失了。对于我们的需求,您的“答案”似乎仍然是一个非常好的选择。谢谢! I encountered the same problem today. After tried many times, I found out the reason and fix it at last. For applications that store data using the default MySQL character set and collation (latin1, latin1_swedish_ci), so you need to specify the character set and collation to utf8/utf8_general_ci when your create your database or table. e.g.: $sql = "CREATE TABLE " . $table_name . " ( id mediumint(9) NOT NULL AUTO_INCREMENT, bookname varchar(128) NOT NULL, author varchar(64) NOT NULL, PRIMARY KEY (id), KEY (bookname) )CHARACTER SET utf8 COLLATE utf8_general_ci;"; Reference: 《mysql create table problem? SOLVED!!!!!!!!!!!》 http://forums.mysql.com/read.php?121,193883,193883 《10.1.5. Configuring the Character Set and Collation for Applications》 http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html Hoping this can help you.