我正在尝试将推文保存到MySql数据库中,大部分时间它工作正常,但是当推文类似下面给出的推文时,
我从MySql中获得以下异常,
java.sql.BatchUpdateException: Incorrect string value: '\xF0\x9F\x92\xB2\xF0\x9F...' for column 'twtText' at row 1
我们如何处理这些文本。
答案 0 :(得分:0)
尝试将列的charset更改为反映要插入的字符串的charset的值。
示例:
ALTER TABLE database.table MODIFY COLUMN col VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
答案 1 :(得分:0)
除了在数据库表/列上设置排序规则之外,我们还必须在应用程序中的客户端上设置排序规则: SET NAMES' utf8mb4';
在实际陈述之前。 类似的错误:Incorrect string value: '\xF0\x9F\x8E\xB6\xF0\x9F...' MySQL
答案 2 :(得分:0)
这对我有用。更改MySql中的字符集
ALTER TABLE TableName MODIFY COLUMN ColumnName varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;
答案 3 :(得分:0)
我得到了相同的发布并解决了它。 错误的原因是该字符串包含表情符号。
utf8mb4
,将Collation设置为utf8mb4_general_ci
utf8mb4
,如charset=utf8mb4