mysql 支持emoji

1.修改my.cnf

[client]
default-character-set = utf8mb4

[mysqld]
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4重启mysql,检查字符集是否已经更改,除了character_set_systemcharacter_set_filesystem之外,其他的字符集都需要变成utf8mb4类型。查看编码如下。
mysql> show variables like ‘char%‘;
+--------------------------+------------------------------------------------------+
| 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                                                 |
| character_sets_dir       | /usr/local/Cellar/mysql/5.5.10/share/mysql/charsets/ |
+--------------------------+------------------------------------------------------+

2.为了支持之前用utf8创建的表同样支持emoji,你还需要将之前的表修改未utf8mb4字符集

alter table posts convert to character set utf8mb4 collate utf8mb4_unicode_ci;

3.如果处理完成之后,插入还是失败,那么在db的URL参数上不要加characterEncoding参数。 不加这个参数时,默认值就时autodetect。

4.mysql支持emoji有版本约束,建议mysql升级至5.5,mysql-connetion升级至5.1.30。

时间: 2024-08-01 10:46:08

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的编码从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

mysql支持emoji解决办法

mysql显示不了emoji表情或者显示??,原因这里不解释,直接说解决办法.(主要就是修改utf8mb4) 1.修改表 ALTER TABLE `TABLE_NAME` CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; 2.修改字段 ALTER TABLE `TABLE_NAME`MODIFY COLUMN `COLUMN_NAME` varchar CHARACTER SET utf8mb4 COLLATE utf8mb4_general_c

使mac版的MYSQL支持emoji表情

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