首页 > 解决方案 > PHP CRUD API 不断返回 JSON 值的 Base64

问题描述

我想首先说我对 PHP CRUD API 完全陌生。

我遇到了一个问题,其中某个 MySQL 表值“绑定”,它作为 JSON 存储在数据库中,正在输出Base64

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

如果这没有提供足够的信息,我深表歉意,我真的对导致此问题的原因感到困惑。如果您需要更多信息,请发表评论,谢谢。

标签: phpcrud

解决方案


这是来自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”。


推荐阅读