开发者社区> 问答> 正文

如何在MySQL中插入UTF-8 MB4字符(iOS5中的表情符号)?

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

| 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 | 我将utf8mb4从utf8更改为iOS5的表情符号。它们由4字节代码表示。

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

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

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

如何存储iOS5的表情符号?

请帮我。

展开
收起
保持可爱mmm 2020-05-10 23:12:04 673 0
1 条回答
写回答
取消 提交回答
  • 4字节Unicode字符尚未得到广泛使用,因此并不是每个应用程序都完全支持它们。正确配置后,MySQL 5.5可以很好地使用4字节字符-检查您的其他组件是否也可以使用它们。

    还有其他一些要检查的内容:

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

    如果您的数据已经在utf8字符集中,则应将其转换为utf8mb4,而不会出现任何问题。与往常一样,请先备份数据,然后再尝试!

    还要确保您的应用程序层将其数据库连接的字符集设置为utf8mb4。请仔细检查这是否确实在发生–如果您运行的是所选框架的mysql客户端库的旧版本,则可能未使用utf8mb4支持对其进行编译,因此无法正确设置字符集。如果没有,您可能必须自己对其进行更新或编译。

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

    一旦您的应用程序的每个级别都可以支持新字符,您就应该能够使用它们而不会出现任何损坏来源:stack overflow

    2020-05-10 23:12:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
One Box: 解读事务与分析一体化数据库 HybridDB for MySQL 立即下载
One Box:解读事务与分析一体化数据库HybridDB for MySQL 立即下载
如何支撑HTAP场景-HybridDB for MySQL系统架构和技术演进 立即下载

相关镜像