`
jianfeiok
  • 浏览: 25697 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MySQL utf8mb4字符集:支持emoji表情符号

阅读更多
MySQL utf8mb4字符集:支持emoji表情符号
     ㈠ 序言
        为了应对无线互联网的机遇和挑战、避免 emoji 表情符号带来的问题、
        涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集
        这必须要作为移动互联网行业的一个技术选型的要点
     ㈡ 限制
        需要 >= MySQL 5.5.3版本、从库也必须是5.5的了、低版本不支持这个字符集、复制报错
     ㈢ 简要步骤
        以下是一个未升级到 5.5.3 的配置步骤:
        ① 备份数据库
        ② 升级 MySQL Server 到 v5.5.3+
        ③ 修改 database、table和column字符集
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; 
      ④ 修改 my.cnf
[client]  
default-character-set = utf8mb4  
[mysql]  
default-character-set = utf8mb4  
[mysqld]  
character-set-client-handshake = FALSE  
character-set-server = utf8mb4  
collation-server = utf8mb4_unicode_ci  
init_connect='SET NAMES utf8mb4'  
 
 ⑤ 重启 MySQL Server、检查字符集
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';  
+--------------------------+--------------------+  
| Variable_name            | Value              |  
+--------------------------+--------------------+  
| 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 |  
+--------------------------+--------------------+  
 rows in set (0.00 sec)  
 
分享到:
评论

相关推荐

    全面了解mysql中utf8和utf8mb4的区别

    MySQL中的UTF8与UTF8MB4是两种不同的字符编码方式,它们主要的区别在于对Unicode字符集的支持程度。本文将深入探讨这两种编码的区别,以便更好地理解它们在实际应用中的选择。 一、UTF8与UTF8MB4简介 UTF8是...

    详解JDBC对Mysql utf8mb4字符集的处理

    解决这个问题的关键是使用正确的字符集,Mysql提供了utf8mb4字符集来支持存储emoji表情。 首先,我们需要在JDBC连接URL中指定字符编码为utf8mb4。例如: jdbc.url=jdbc:mysql://HOST:3306/your_database?useUnicode...

    emoji入库mysql注意事项除了更改utf8mb4最大的坑在这里

    - **更改字段字符集**:如果已有表中的某个字段需要存储emoji表情,可以通过ALTER TABLE命令修改字段的字符集为`utf8mb4`。例如: ```sql ALTER TABLE `article` MODIFY COLUMN `content` MEDIUMTEXT CHARACTER ...

    MySQL保存emoji表情

    因此,在设计与无线互联网相关的MySQL数据库时,推荐采用UTF-8mb4字符集来确保能够妥善处理emoji表情符号,避免出现数据存储或显示上的问题。 #### 限制 使用UTF-8mb4字符集的前提条件包括: - MySQL服务器版本需...

    emoji表情符号mysql插入与读取

    MySQL默认使用的`utf8`字符集只支持最多3个字节的Unicode字符,而大多数emoji表情符号属于4字节的Unicode范围(UTF-8编码下的U+10000到U+10FFFF)。因此,如果直接使用`utf8`存储,会遇到无法正确保存和读取emoji的...

    mysql数据库支持emoji表情实例

    总结来说,MySQL 5.7.6及更高版本的数据库通过`utf8mb4`字符集支持了emoji,使得开发者可以在数据库中存储和处理丰富的文本信息,增强了用户界面的互动性。这个实例提供了从数据库设置到实际操作的完整流程,对于...

    MySQL字符集utf8修改为utf8mb4的方法步骤

    MySQL字符集转换是一个重要的任务,特别是当你需要支持更广泛的字符,包括表情符号和其他特殊字符时。从`utf8`切换到`utf8mb4`是为了应对Unicode编码的扩展,因为`utf8`仅支持基本多语言平面(BMP)内的字符,而`utf...

    php 处理APP emoji表情包 IOS表情包 Mysql保存手机表情

    - 数据库字符集设置:确保MySQL数据库、表以及字段的字符集设定为`utf8mb4`,因为`utf8`只支持部分Unicode,而`utf8mb4`则支持所有Unicode字符,包括emoji。 - PHP连接设置:在连接MySQL时,使用`mysqli_set_...

    mysql保存微信昵称特殊字符的方法

    这是因为MySQL的默认UTF-8字符集(实际上是`utf8`,并非完全标准的UTF-8)仅支持最多3字节的字符,而一些特殊字符,如Emoji,需要4字节的编码空间。这个问题的根本在于MySQL的`utf8`字符集设计时并未考虑到4字节的...

    更改MySQL数据库的编码为utf8mb4_wo.pdf

    为了解决这个问题,MySQL 推出了 utf8mb4 编码,它是 MySQL 平台上 utf8 编码的超集,兼容 utf8,并且能存储 4 字节的表情字符。 采用 utf8mb4 编码的好处是:存储与获取数据的时候,不用再考虑表情字符的编码与...

    使MySQL能够存储emoji表情字符的设置教程

    MySQL 需要支持 emoji 表情符号版本需要大于5.5.3,且字符集需要设置为utf8mb4 字符集。 utf8mb4和utf8到底有什么区别呢?原来以往的mysql的utf8一个字符最多3字节,而utf8mb4则扩展到一个字符最多能有4字节,所以...

    mysql存储emoji表情报错的处理方法【更改编码为utf8mb4】

    为了解决这个问题,需要将MySQL数据库的字符集更改为utf8mb4,这是MySQL对UTF-8字符集的扩展,能够支持最多4字节的字符,完全兼容Emoji表情的存储。不过,在进行编码更改之前,必须确认MySQL的版本至少为5.5.3,因为...

    MySQL 编码utf8 与 utf8mb4 utf8mb4_unicode_ci 与 utf8mb4_general_ci

    utf8mb4 已成为 MySQL 8.0 的默认字符集,在MySQL 8.0.1及更高版本中将 utf8mb4_0900_ai_ci 作为默认排序规则。 新项目只考虑 utf8mb4 UTF-8 编码是一种变长的编码机制,可以用1~4个字节存储字符。 因为历史遗留问题...

    java ipone 微信昵称emoji表情保存失败 问题解决

    而MySQL数据库默认的utf8字符集只支持每个字符最多三个字节的编码,因此,当尝试将四字节的emoji表情存入只支持三字节的utf8字段时,就会出现错误。 具体来说,报错信息"\xF0\x9F\x8E\x80\xE5\xA4..."是emoji表情的...

    mysql中插入emoji表情失败的原因与解决

    但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储。 下面话不多说了,来一起看看详细的介绍吧 解决方案 一. 修改database、table、column字符集 修改database字符集 ALTE

    mysql存储emoji表情步骤详解

    总的来说,存储Emoji表情主要的问题是字符集编码的问题,需要将MySQL的字符集升级为utf8mb4,并确保JDBC驱动版本支持Emoji表情,最后通过正确配置JDBC连接字符串和可能需要调整代码中设置编码集来解决存储Emoji表情...

    3种方法轻松处理php开发中emoji表情的问题

    utf8mb4是MySQL提供的一个字符集,它能够支持最多四个字节的UTF-8编码,这样就能够兼容emoji表情的编码。如果MySQL的版本是5.5.3或以上,可以直接将原来的utf8字符集升级为utf8mb4字符集。升级到utf8mb4字符集几乎...

    MySQL无法存储emoji表情解决方案分析

    在Python爬虫方面,确保在连接MySQL数据库时指定字符集为UTF8MB4,这样爬取到包含emoji的数据也能正确地插入到数据库中。例如,在使用`MySQLdb`库时,可以在连接参数中指定`charset='utf8mb4'`和`use_unicode=True`...

Global site tag (gtag.js) - Google Analytics