Incorrect string value: ‘\xF0\x9F\x98\x82‘ for column ‘TABLE_NAME_CH‘ at row 1
问题描述:
当mysql存储表情时,报错。 报错具体信息:Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x82' for column 'TABLE_NAME_CH' at row 1原因分析:
MySQL等数据库中普通的UTF8编码并不支持Emoji(只有utf8mb4支持)MySQL等数据库中普通的UTF8编码并不支持Emoji(只有utf8mb4支持)。解决方案1:
(1)步骤一:确定数据库、表、字段编码和排序规则,必须是utf8mb4

(2)步骤二:jdbc连接需指定字符编码和排序规则

&useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8mb4_general_ci
步骤三:提升mysql依赖驱动版本
mysql驱动版本必须是5.1.47以上(包括5.1.47)
解决方案2:
使用hutool工具类
https://www.hutool.cn/docs/#/extra/emoji/Emoji工具-EmojiUtil

浙公网安备 33010602011771号