首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在mysql中插入utf-8表情字符(ios5中的mb4 )?

如何在mysql中插入utf-8表情字符(ios5中的mb4 )?
EN

Stack Overflow用户
提问于 2011-10-19 06:03:36
回答 2查看 78.3K关注 0票数 57

我使用的是mysql 5.5.10,它的character_sets是

代码语言:javascript
复制
| 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                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
| collation_connection     | utf8mb4_general_ci         |
| collation_database       | utf8mb4_general_ci         |
| collation_server         | utf8mb4_general_ci         |

我把ios5的表情符号从utf8改成了utf8mb4。它们由4字节码表示。

但是当我插入3个笑脸表情符号时,“?”在mysql中。

它们是3F3F3F(十六进制)。

我可以很好地存储iOS4的表情符号,但不能存储iOS5的表情符号。

我如何存储iOS5的表情符号?

请帮帮我。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-13 14:01:04

4字节Unicode字符还没有被广泛使用,所以并不是所有的应用程序都完全支持它们。如果配置正确,MySQL 5.5可以很好地处理4个字节的字符--检查其他组件是否也可以使用它们。

以下是其他一些需要检查的内容:

  • 除了设置客户端和服务器字符集之外,还要确保将所有表的默认字符集和文本字段转换为utf8mb4,例如ALTER TABLE mytable charset=utf8mb4, MODIFY COLUMN textfield1 VARCHAR(255) CHARACTER SET utf8mb4,MODIFY COLUMN textfield2 VARCHAR(255) CHARACTER SET utf8mb4;等。

如果您的数据已经在utf8字符集内,它应该可以在适当的位置转换为utf8mb4,不会出现任何问题。像往常一样,在尝试之前备份你的数据!

  • 还确保你的应用层将其数据库连接的字符集设置为utf8mb4。仔细检查一下,如果你运行的是你选择的框架的mysql客户端库的旧版本,它可能没有被utf8mb4支持编译,也不会正确设置字符集。如果没有,您可能需要对其进行更新或自行编译。

  • 通过mysql客户端查看数据时,请确保您所在的计算机可以显示表情符号,并在运行任何查询之前运行SET NAMES utf8mb4

一旦您的应用程序的每个级别都可以支持新字符,您应该能够在不损坏的情况下使用它们。

票数 93
EN

Stack Overflow用户

发布于 2012-08-07 14:40:13

票数 66
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7814293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档