我有一个我想不出来的问题。我收集了一些物品,有时可能很大。我必须将整个集合存储为序列化瞬态。问题是,当序列化字符串超过60000个字符时,在DB中的插入将失败。
为什么?我检查了wp\\U选项表,“值”列是一个长文本。它可以容纳4GB的数据,对吗?
我有一个我想不出来的问题。我收集了一些物品,有时可能很大。我必须将整个集合存储为序列化瞬态。问题是,当序列化字符串超过60000个字符时,在DB中的插入将失败。
为什么?我检查了wp\\U选项表,“值”列是一个长文本。它可以容纳4GB的数据,对吗?
我发现了问题!瞬态一切正常,问题是如果超过最大字符数,我将使用php的substr()来剪切对象属性值。当该字符串中有重音字符时,编码有问题。所以序列化集合在字符60000处存在编码问题。。。我使用substr\\u mb()修复了它,并将UTF-8指定为编码。
很难调试此问题,因为wpdb在出现编码问题时不会引发任何错误。
我知道WordPress希望使用MySQL作为其数据库后端,但我可以改用MariaDB吗?MariaDB是MySQL的一个分支,它包含了一系列非常好的管理改进,并有一些很棒的SQL语言改进。