当emoj包含在数据中时,为什么mysql中的结果异常?

当emoj包含在数据中时,为什么mysql中的结果异常?,mysql,utf8mb4,Mysql,Utf8mb4,环境:linux+node 0.10.22+mysql 5.6.31 最近,我的数据库中出现了一些错误的结果 正常的结果是json字符串,就像“{”content:“hello,world!”,“sender:“warriorA”}”。 异常结果是类似“{”content:“hello,world!””的json字符串。 看起来缺少了一部分。我知道mysql关于utf8和utf8mb4的错误,我想这可能就是原因。我在生产环境中确认了它是emoj。但是当我试图在测试环境中复制时,我有点沮丧 在测试

环境:linux+node 0.10.22+mysql 5.6.31

最近,我的数据库中出现了一些错误的结果

正常的结果是json字符串,就像“{”content:“hello,world!”,“sender:“warriorA”}”。 异常结果是类似“{”content:“hello,world!””的json字符串。

看起来缺少了一部分。我知道mysql关于utf8和utf8mb4的错误,我想这可能就是原因。我在生产环境中确认了它是emoj。但是当我试图在测试环境中复制时,我有点沮丧

在测试环境中,mysql给了我一个错误“截断的\u错误的\u值\u用于\u字段,不正确的字符串值:'\xF0\x9F\x90\xA6,…'用于第1行的“mailParams”列”,与联机不同


我不知道如何重现和解决此问题,请您给我一些建议好吗?非常感谢。

对于
字符集
和连接参数,请使用
utf8mb4
,而不是
utf8
。请参阅“截断”对于
字符集
和连接参数,正在使用
utf8mb4
,而不是
utf8
。请参阅中的“截断”