使mac版的MYSQL支持emoji表情

1.首先介绍下常用的字符集

  • ASCII:美国信息互换标准编码;英语和其他西欧语言;单字节编码,7位表示一个字符,共128字符。
  • GBK:双字节,汉字内码扩展规范;中日韩汉字、英文、数字;双字节编码;共收录了21003个汉字,GB2312的扩展。
  • UTF-8:Unicode标准的可变长度字符编码;Unicode标准(统一码),业界统一标准,包括世界上数十种文字的系统;
  • UTF-8:使用一至三个字节为每个字符编码。
  • utf8mb4:存储四个字节,应用场景用于存储emoji表情,因为可以emoji表情四个字节。
  • utf8mb4:MySQL版本 > 5.5.3 。
  • 其他常见字符集:UTF-32,UTF-16,Big5,latin1

2.修改本地的数据库

对每一个数据库:

ALTER DATABASE 这里数据库名字 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;

对每一个表:

ALTER TABLE 这里是表名字 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

3.修改mysql配置文件

进入这个目录,在这个目录下面有个后缀为.cnf的文件

cd /usr/local/MySQL/support-files/

将这个文件复制到etc目录中并将名字命名为my.cnf

sudo cp my-default.cnf /etc/my.cnf

然后编辑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

4.重启mysql

  • 启动:/usr/local/mysql/support-files/mysql.server start
  • 停止:/usr/local/mysql/support-files/mysql.server stop
  • 重启:/usr/local/mysql/support-files/mysql.server restart

service mysqld stop

service mysqld start

service mysqld restart

时间: 2024-07-29 15:20:30

使mac版的MYSQL支持emoji表情的相关文章

让MySQL支持Emoji表情 mysql 5.6

让MySQL支持Emoji表情,涉及无线相关的 MySQL 数据库建议都提前采用 utf8mb4 字符集. mysql 版本 5.6 1 解决方案:将Mysql的编码从utf8转换成utf8mb4. 需要 >= MySQL 5.5.3版本.从库也必须是5.5的了.低版本不支持这个字符集.复制报错 2 my.cnf 文件添加 [mysqld]  character-set-server = utf8mb4  collation-server = utf8mb4_unicode_ci  init_c

mysql支持emoji表情存取的解决方案

让mysql支持emoji表情存取的解决方案 APP移动端无需做任何修改,服务端修改即可. 第一步:修改jdbcUrl: conn.url=jdbc:mysql://127.0.0.1:3306/eyes?zeroDateTimeBehavior=convertToNull&autoReconnect=true 第二步:mysql驱动包: mysql-connector-java-5.1.24.jar 第三步:数据库版本检查: select version() #查看mysql版本 5.6.23

mysql支持emoji表情

让MySql支持Emoji表情 解决方案:将Mysql的编码从utf8转换成utf8mb4. 需要 >= MySQL 5.5.3版本.(经检测5.5.29的也可以)低版本不支持这个字符集.复制报错 停止MySQL Server服务 修改 my.cnf或者mysql.ini [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-ha

mysql 支持emoji表情

在mysql插入emoji表情,出现错误: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8A' for column 'content' at row 原因是当前mysql的字符集为utf-8,最多3个字节,emoji表情需要4个字节来表示.所以导致insert报错. 一般的方法是将字符集改为utf8mb4 2. utf8mb4这样的字符集需要mysql 5.5才支持,当时我的版本微5.1,所以自己去官网下了5.6的

mysql支持emoji表情上传

背景: 由于需要实现emoji表情评论的功能,所以数据库需要支持emoji表情的存储 mysql的utf8编码的一个字符最多3个字节,但是一个emoji表情为4个字节,所以utf8不支持存储emoji表情.但是utf8的超集utf8mb4一个字符最多能有4字节,所以能支持emoji表情的存储.但是在mysql5.5之前并不支持utf8mb4编码,所以mysql一定要在5.5及以上 1.首先修改mysql配置文件 1 [mysqld] 2 character-set-client-handshak

php mysql支持emoji表情方案

将emoji转换成utf8 然后存储到数据库,但是 效率低 1 public function rrr($text) { 2 $text = 'a??ss??ss??ss'; 3 //处理名字的emoji符号 4 $tmpStr = json_encode($text); //暴露出unicode 5 6 $tmpStr1 = preg_replace_callback("#(\\\ue[0-9a-f]{3})#i", function($a) { 7 //var_dump($a);

让MySql支持Emoji表情(MySQL中4字节utf8字符保存方法)

手机端插入Emoji表情,保存到数据库时报错: Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column 'review' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.jav

让MySql支持Emoji表情存储

java后台报错,如下. aused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x84' for column 'review' at row 1 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074) at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096) at c

让MySql支持Emoji表情

解决方案:将Mysql的编码从utf8转换成utf8mb4. 需要 >= MySQL 5.5.3版本.从库也必须是5.5的了.低版本不支持这个字符集.复制报错 停止MySQL Server服务 修改 my.cnf或者mysql.ini [client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE cha