ali*_*ali 6 java mysql twitter
我尝试将 twitter 提要保存在下表中的 mysql 数据库中
CREATE TABLE `tweets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`tweetcontent` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)
但出现了以下错误
java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8F'
for column 'tweetcontent' at row 1
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
已经在这里回答
MySQLutf8
只允许 UTF-8 中可以用 3 个字节表示的 Unicode 字符。这里有一个需要 4 个字节的字符:\xF0\x90\x8D\x83 ( U+10343 GOTHIC LETTER SAUIL )。
如果您有 MySQL 5.5 或更高版本,您可以将列编码从 更改utf8
为utf8mb4
. 这种编码允许以 UTF-8 存储占用 4 个字节的字符。
您可能还需要服务器属性设置character_encoding_server
到utf8mb4
MySQL的配置文件中 似乎Connector/J 默认为 3 字节 Unicode,否则:
例如,要在 Connector/J 中使用 4 字节 UTF-8 字符集,请使用 配置 MySQL 服务器
character_set_server=utf8mb4
,并characterEncoding
省略 Connector/J 连接字符串。Connector/J 然后将自动检测 UTF-8 设置。
归档时间: |
|
查看次数: |
8263 次 |
最近记录: |