GBK模式下,应用中心显示在首页上的动态信息会乱码(读的数据库缓存)。
乱码的图片
但点击刷新按钮以后,加载出来的版本就是正确的(直接读的接口)。

经过检查代码逻辑,发现原版代码直接把UTF8版本的信息存GBK数据库里了,必然会有很多不符合GBK编码规则的编码出现,这些内容就会失效掉。
而将整个数组内容转码后再存储又有点麻烦,因此本PR在GBK版本下把内容转换为json以后再进行存储。
因为编码是utf8的所以转换不成问题,而根据php的json编码规则,转换后的所有非ascii字符都会被默认转义,存储后就不会再丢失信息了。

至于为啥对UTF8版本保留原版存储方式……原来的存储方式省数据库空间啊。
而且方便未来弃用GBK时去掉相关逻辑