我将 JSON 存储在
varchar(255)
列中。
桌子上有
DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_uca1400_ai_ci
。
此 JSON 可能包含 Unicode 字符。 例如 "😊" 被编码为
"\\ud83d\\ude0a"
。
当我尝试提取该值时,JSON_UNQUOTE返回“
?
”。
SELECT JSON_UNQUOTE('"\\ud83d\\ude0a"');
?
如何在 SQL 中提取该值?
根据评论,这是一个错误,MDEV-35614,它似乎与 utf8mb3 的内部表示有关,其中笑脸表情符号需要完整的 utf8mb4。