如何将unicode字符设置为数据库

时间:2014-01-14 11:50:37

标签: mysql unicode

我正在使用java中的twitter API我想在mysql数据库中保存搜索推文,我已经将表的默认编码类型更改为utf-8并整理为utf8_unicode_ci,也用于我获取unicode值的列我有将默认编码类型设置为utf-8 并整理到utf8_unicode_ci。但是我觉得我的数据被截断了,我的数据没有正确保存。 请帮帮我。

提前致谢

2 个答案:

答案 0 :(得分:0)

尝试使用以下方式设置Connection Character Sets and Collations

SET NAMES 'charset_name' [COLLATE 'collation_name']

SET CHARACTER SET charset_name

答案 1 :(得分:0)

这篇文章已经很老了但是因为我今天正在研究同样的问题,所以我偶然发现了你的问题 由于twitter支持表情符号Emoji,你将不得不切换到utf8mb4而不是utf8。简而言之,MySQL的utf8字符集仅部分实现了正确的UTF-8编码。它只能存储由一到三个字节组成的UTF-8编码符号;不支持占用四个字节的编码符号!
由于星号(其代码点范围从U + 010000到U + 10FFFF)每个都由UTF-8中的四个字节组成,因此您无法使用MySQL的utf8实现来存储它们。 这是一个link讨论此事的教程,并详细解释了如何转换为utf8mb4。