昨天写一个 mongodb 导数据到 MySQL 的程序,写入MySQL的时候报错了:Error 1366: Incorrect string value: '\xF0\x9F\x98\x83\xE4\xB8...' for column 'requestBody' at row 17790
。
这可能是插入的文本中有 4 字节的 unicode 字符,文本中有 Emoji 表情导致的。
我查看了一下 requestBody
字段,发现编码是 utf8,根据文章 为什么 mysql 要使用 utf8mb4 而非 utf8编码 说明,将字段的编码修改为 utf8mb4
,重新运行后仍然没有解决。
后来查看了程序的 MySQL 连接参数,发现编码还是 utf8 :charset=utf8
,将连接参数修改后 charset=utf8mb4
,问题解决。
这篇文章还没有人留言,快来抢沙发吧。