json_encode之后,中文存到数据库变成了unicode,长度是怎么算的?

我发现 数组中的 中文经过json_encode之后,存到数据库变成了unicode。
例如:“我是个中文”,
变成了:

\u6211\u662f\u4e2a\u4e2d\u6587

本来“我是个中文”,共记10个字符。
变成了unicode之后,是不是就 共记30个字符???

text长度65535,如果能直接保存中文,大概能有3万多个中文。
如果变成了unicode,那能保存的中文岂不是只有6500个左右?

如果text长度不够用,改为 mediumtext,会不会使数据库变得又大又慢?

一共3个问题,麻烦请教一下。新手请见谅。

阅读 4.1k
2 个回答

性能一定会被影响。所有通常这种大文本的存储 都会单独创建一个表。

可以JSON_UNESCAPED_UNICODE,直接保存中文,不进行转义。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题