我想将Twitter API中的twitter数据保存在我的mysql数据库中。但是某些用户的推文使用不同的字符。
不正确的字符串值:“ \ xF0 \ x9F \ x87 \ xB5 \ xF0 \ x9F ...” 第1行的'名称'HHH000346:托管刷新期间出错 [org.hibernate.exception.GenericJDBCException:无法执行 声明]
我的连接网址是:
jdbc:mysql://127.0.0.1:3306/social_media?useUnicode=yes&characterEncoding=UTF-8
然后我更改了mysql变量和表字符编码。当我在查询下面运行时
> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR
> Variable_name LIKE 'collation%';
结果是:
character_set_client : utf8mb4
character_set_connection : utf8mb4
character_set_database : utf8mb4
character_set_filesystem : binary
character_set_results : utf8mb4
character_set_server : utf8mb4
character_set_system : utf8
collation_connection : utf8mb4_unicode_ci
collation_database : utf8mb4_unicode_ci
collation_server : utf8mb4_unicode_ci
答案 0 :(得分:0)
您的环境中的某些内容无法正确处理Unicode文本。
字节序列F0 9F 98 9C
在查询中被错误地表示为“ðŸ〜œ”,它是Unicode字符“”,带有伸出舌头和眨眼眼睛的UTF8编码。 (也就是说,这是一个表情符号字符。)
要正确存储此字符,您需要确保:
SET NAMES utf8mb4
,或在连接时使用类似的选项来启用它)。utf8mb4
。