我在java的twitter API上工作,我想在mysql数据库中保存搜索推文,我已经将表的默认编码类型更改为utf-8,并将其整理为utf8_unicode_ci,还为我正在获取Unicode值的列设置了默认编码类型为utf-8,并整理为utf8_unicode_ci。但是我仍然得到列的数据被截断,我的数据没有正确保存。请帮帮我。
提前感谢
发布于 2014-01-14 20:09:07
也尝试使用以下命令设置Connection Character Sets and Collations:
SET NAMES 'charset_name' [COLLATE 'collation_name']
和
SET CHARACTER SET charset_name
发布于 2015-01-29 13:03:39
这篇文章已经很老了,但由于我今天也在研究同样的问题,我偶然发现了你的问题。
由于推特支持表情符号,也就是表情符号,你将不得不换成utf8mb4,而不是utf8。简而言之,MySQL的utf8字符集只部分实现了正确的UTF8编码。它只能存储由一到三个字节组成的UTF-8编码符号;不支持占用四个字节的编码符号!
由于每个星形符号(其代码点的范围从U+010000到U+10FFFF)在UTF-8中都由4个字节组成,因此不能使用MySQL的utf8实现来存储它们。这是一个讨论这个问题的教程的link,并详细解释了如何进行到utf8mb4的转换。
https://stackoverflow.com/questions/21112863
复制相似问题