PHP CRUD API 不断返回 JSON 值的 Base64

PHP CRUD API keeps returning Base64 for JSON values

首先我想说我是 PHP CRUD API 的新手。

我 运行 遇到一个问题,其中某个 MySQL table 值 "binds" 在数据库中存储为 JSON在 Base64 中输出。

我似乎无法弄清楚为什么它被输出为 Base64,这是我用于 API

的代码

如果这没有提供足够的信息,我深表歉意,我真的很困惑是什么导致了这个问题。如果你们需要更多信息,请评论,谢谢。

这是来自 PHP-CRUD-API 的代码,我是作者。如果您的列被识别为具有二进制类型,则输出是 base64 编码的。是否为二进制类型由代码段决定:

return (($field->flags & 128) && (($field->type>=249 && $field->type<=252) ||
        ($field->type>=253 && $field->type<=254 && $field->charsetnr==63)));

来自 isBinaryType($field) 函数,其中:

128 = BINARY_FLAG
249 = TINY_BLOB
250 = MEDIUM_BLOB
251 = LONG_BLOB
252 = BLOB
253 = VAR_STRING
254 = STRING
63  = BINARY_CHARSET

这些标志和类型由列类型和排序规则决定。要解决您的问题,您可能需要将列的排序规则从 "utf8_bin" 更改为 "utf8_general_ci"。