`

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

 
阅读更多

㈠ 序言

为了应对无线互联网的机遇和挑战、避免 emoji 表情符号带来的问题、

涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集

这必须要作为移动互联网行业的一个技术选型的要点

㈡ 限制

需要 >= MySQL 5.5.3版本、从库也必须是5.5的了、低版本不支持这个字符集、复制报错

㈢ 简要步骤

以下是一个未升级到 5.5.3 的配置步骤:

① 备份数据库

② 升级 MySQL Server 到 v5.5.3+

③ 修改 database、table和column字符集

For each database:ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;# For each table:ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;# For each column:ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;# (Don’t blindly copy-paste this! The exact statement depends on the column type, maximum length, and other properties. The above line is just an example for a `VARCHAR` column.)

④ 修改 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)

分享到:
评论

相关推荐

    emoji表情符号mysql插入与读取

    emoji表情符号存放数据库需要数据库支持4个字节的数据格式,而mysql默认的utf8只能存储3个字节,所以需要mysql版本5.6及以上,并设置数据库为utf8mb4字符集

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

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

    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个字节存储字符。 因为历史遗留问题...

    设置mysql5.7编码集为utf8mb4的方法

    移动端的表情或者一些emoji是4字节的,但是utf-8是3字节的,这篇文章主要介绍了设置mysql5.7编码集为utf8mb4的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

    mysql存储emoji表情步骤详解

    在MySQL 5.6中,可以设置编码为utf8mb4,这个字符集是utf8的超集。 1、修改MYSQL字符集 Mysql设置字符编码集为utf8mb4,对应的库、表、字段设置为utf8mb4,注意如果是已经存在的表utf8编码集修改为utf8

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

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

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

    本文实例讲述了MySQL无法存储emoji表情解决方案。分享给大家供大家参考,具体如下: 今天学习爬虫爬伯乐在线的文章,由于在文章中有emoji表情,导致有emoji表情的文章都爬取不下来 经过一番搜索之后终于解决了问题。...

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

    背景 做微信开发的时候就会发现,存储微信昵称必不可少。...如果你的mysql版本>=5.5.3,你大可直接将utf8直接升级为utf8mb4字符集 这种4字节的utf8编码可完美兼容旧的3字节utf8字符集,并且可以直接存储emoj

    MySQL插入emoji表情失败问题的解决方法

    之前一直认为UTF-8是万能的字符集问题解决方案,直到最近遇到这个问题。最近在做新浪微博的爬虫, 在存库的时候发现只要保持emoji表情,就回抛出以下异常: Incorrect string value: '\xF0\x90\x8D\x83\xF0\x90......

    Emoji在Web端显示

    emoji在移动端输入,移动端显示正常;但是在Web端确出现了乱码,如过你用的是...把utf8改为uft8mb4网页就可以直接显示;如果是其他数据库,则需要用到我提供的emoji包,请根据需要进行下载,如有疑问请给我留言,谢谢。

    mysql/Java服务端对emoji的支持与问题解决方法详解

    本文实例讲述了mysql Java服务端对emoji的支持与问题解决方法。分享给大家供大家参考,具体如下: ... MYSQL 5.5 之前, utf8 编码只支持1~3个字节,即BMP这部分的unicode编码区(基本就是0000~FFFF这一区)。

    rumojinize::dog_face:ActiveRecord插件可让您轻松将表情符号存储到数据库

    将字符集从utf8更改为utf8mb4 。 将MySQL版本升级到5.5 。 但是“ Rumojinize”使它变得简单! 用法 安装gem: gem 'rumojinize' bundle install 由rumojinize 。 class Article < ApplicationR

    利用rpm安装mysql 5.6版本详解

    其实之前使用yum安装MySQL确实很方便,但是默认安装的myql5.0版本的,不支持utf8mb4(utf8mb4扩展到一个字符最多能有4节,所以能支持更多的字符集,比如支持emoji表情)编码格式,所以要升级数据库,yum库升级貌似...

    Anlin-chat多功能聊天室PHP源码

    装置已默许字符集为 utf8mb4(emoji),如需utf8请修正根目录sql.php文件(将utf8mb4全部交换成utf8) 支持约请码/邮件/等注册方式 自定义模板与ubb创立个性化页面 会员管理,帖子管理,虚拟在线会员设置,马甲账号设置/...

    Java开发一款灵活且易扩展的网站内容管理系统.zip

    如使用MySQL,字符集选择为utf8或者utf8mb4(支持更多特殊字符如表情字符emoji,推荐)。 执行数据库脚本。数据库脚本在database目录下。 在eclipse中导入maven项目。点击eclipse菜单File - Import,选择Maven - ...

    anlin-chat_1.0.zip

    安装已默认字符集为 utf8mb4(emoji),如需utf8请修改根目录sql.php文件(将utf8mb4全部替换成utf8) 支持邀请码/邮件/等注册方式 自定义模板与ubb创建个性化页面 会员管理,帖子管理,虚拟在线会员设置,马甲账号设置/...

    基于SpringBoot+Vue实现的宠物医院诊所管理系统+微信小程序,含mysql数据库+开发笔记

    字符集为utf8 -- UTF-8 Unicode(为了节省空间,我不打算为了emoji而使用utf8mb4) 排序规则为utf8_general_ci(意为:不区分大小写,这样比较快) 接着在pet_forge数据库下,运行本项目中数据库备份文件夹下的pet_forge...

    ClassCMS内容管理系统-PHP

    bug修复,支持utf8mb4字符集,支持存储Emoji表情 v1.6 更新说明 bug修复 v1.5 更新说明 bug修复 v1.4 更新说明 bug修复 新增数据树形列表框 v1.3 更新说明 bug修复 兼容ipv6网址 v1.2 更新说明 bug修复 v1.1 更新说明 ...

    zhihulive:一个用来管理沉淀你所购知乎live的工具 :sparkles::shortcake::sparkles:

    知乎Live内容管理器 简介 这是一个管理你购买过的知乎LIVE的...1、创建MYSQL数据库,需要数据库字符集为utf8mb4,否则emoji表情字符串导致无法插入数据 ALTER DATABASE zhihu CHARACTER SET = utf8mb4 COLLATE = utf

Global site tag (gtag.js) - Google Analytics