3

我正在尝试将推文保存到 MySql 数据库中,大多数情况下它都可以正常工作,但是当推文类似于下面给出的推文时,

示例 1 示例 2

我从 MySql 得到以下异常,

java.sql.BatchUpdateException: Incorrect string value: '\xF0\x9F\x92\xB2\xF0\x9F...' for column 'twtText' at row 1

我们如何处理这样的文本。

4

4 回答 4

1

这对我有用。更改 MySql 中的字符集

ALTER TABLE TableName MODIFY COLUMN ColumnName varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL;
于 2016-03-13T17:43:41.773 回答
0

尝试将列的字符集更改为反映要插入的字符串的字符集的值。

例子:

ALTER TABLE database.table MODIFY COLUMN col VARCHAR(255)  CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;
于 2013-08-19T11:25:40.463 回答
0

除了在数据库表/列上设置排序规则外,我们还必须在客户端,在应用程序中设置排序规则:SET NAMES 'utf8mb4';

在实际声明之前。类似错误:不正确的字符串值:'\xF0\x9F\x8E\xB6\xF0\x9F...' MySQL

于 2015-10-31T19:43:21.950 回答
0

我得到了同样的问题并解决了它。错误的原因是字符串包含表情符号。

  1. 将你的 mysql 列的字符集设置为utf8mb4和排序规则utf8mb4_general_ci
  2. 将您的字符集连接字符串设置为utf8mb4喜欢charset=utf8mb4
  3. 好的,测试一下
于 2018-02-10T11:59:36.397 回答