如果值超过60.000个字符,则SET_TRANSPENT失败

时间:2020-02-10 作者:SebaSbs

我有一个我想不出来的问题。我收集了一些物品,有时可能很大。我必须将整个集合存储为序列化瞬态。问题是,当序列化字符串超过60000个字符时,在DB中的插入将失败。

为什么?我检查了wp\\U选项表,“值”列是一个长文本。它可以容纳4GB的数据,对吗?

1 个回复
最合适的回答,由SO网友:SebaSbs 整理而成

我发现了问题!瞬态一切正常,问题是如果超过最大字符数,我将使用php的substr()来剪切对象属性值。当该字符串中有重音字符时,编码有问题。所以序列化集合在字符60000处存在编码问题。。。我使用substr\\u mb()修复了它,并将UTF-8指定为编码。

很难调试此问题,因为wpdb在出现编码问题时不会引发任何错误。

相关推荐

MariaDB as a backend database

我知道WordPress希望使用MySQL作为其数据库后端,但我可以改用MariaDB吗?MariaDB是MySQL的一个分支,它包含了一系列非常好的管理改进,并有一些很棒的SQL语言改进。