mysql 只插入了字符串的一部分?

mysql版本为5.6.16

一般情况下该字段插入正常的数据为一个json字符串(‘{code: "你好", sender: "用户A"}’),但是偶尔会出现形如 ‘{ code: "你好"’ 这样的不完整的字符串,导致服务器解析后出现异常,经测试为emoj导致的,但是在测试环境测试时包含emoj的字符却又不与生产环境一样,完全插入不进去并且报错:“truncated_wrong_value_for_field, Incorrect string value: '\xF0\x9F\x90\xA6,...' for column 'mailParams' at row 1”

请问有知道原因的吗?

阅读 2.2k
1 个回答

截断问题一般是列长不够。

而你这个 truncated_wrong_value_for_field 错误分明就是列字符集不对,想要支持 emoji 需要 utf8mb4 字符集,而不是 utf8


P.S. 你这生产和测试环境表结构都不一样,真的大丈夫?

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