You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在纯MySQL中将json_encode生成的UTF8十六进制实体转回原字符?

纯MySQL转换JSON Unicode实体为中文的方案

当然没问题!完全可以只靠MySQL内置函数把存储的"\u4e2d"这类JSON Unicode实体字符串转成对应的中文,不需要借助PHP。

核心解法:使用JSON_UNQUOTE()函数

MySQL的JSON_UNQUOTE()函数的作用不只是去除JSON字符串的引号,它还会自动解析字符串里的Unicode转义序列(也就是\uXXXX格式的十六进制实体)。

举个实际的使用例子:
假设你有一张表test_table,其中unicode_str字段存储了"\u4e2d",执行下面的查询就能直接得到中文“中”:

SELECT JSON_UNQUOTE(unicode_str) AS converted_char FROM test_table;

如果只是想快速测试这个功能,可以直接传入字符串常量:

SELECT JSON_UNQUOTE('"\u4e2d"'); -- 执行后会返回 "中"

注意事项

  • 这个方法要求你的MySQL版本在5.7及以上,因为JSON_UNQUOTE()是从5.7版本开始引入的JSON函数族成员。
  • 确保你的数据库连接、表字段的字符集设置为utf8mb4(或者兼容的UTF-8字符集),这样转换后的中文才能正常显示,避免出现乱码问题。

内容的提问来源于stack exchange,提问作者Ryan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:15:43