mariaDB utf-8改编码到utf8mb
来源:互联网 发布:java new string 参数 编辑:程序博客网 时间:2024/05/30 02:25
背景:
设计的数据库默认使用utf-8编码,使用微信登录时,有用户使用Emoji表情,导致无法插入数据库,原因是Emoji是4个字节,而utf-8是3个字节。
如何修改:
先查看下编码:
mysql> SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';
+--------------------------+-------------------+
| Variable_name | Value |
+--------------------------+-------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| collation_connection | utf8_general_ci |
| collation_database | latin1_swedish_ci |
| collation_server | latin1_swedish_ci |
+--------------------------+-------------------+
10 rows in set (0.00 sec)
先备份数据库:
mysqldump -B XX_db -u root -p --lock-all-tables --flush-logs --master-data=2 >XX_db-.sql
开启log-bin:
[server]# 开启 binloglog-bin=mariadb-bin
修改/etc/my.cnf.d/server.cnf
[mysqld]
[mysqld]character_set_server=utf8mb4collation-server=utf8mb4_unicode_ciinit_connect='SET NAMES utf8mb4'skip-character-set-client-handshake=true
重启DB:
systemctl restart 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_general_ci || collation_server | utf8mb4_unicode_ci |+--------------------------+--------------------+10 rows in set (0.01 sec)
修改DB的默认编码:
ALTER DATABASE XX_db CHARACTER SET utf8mb4;
- mariaDB utf-8改编码到utf8mb
- 改Hibernate自动建表编码默认latin到UTF-8
- 转换编码到utf-8
- UTF-8到Unicode的编码转换
- UTF-8到Unicode的编码转换
- UTF-8到Unicode的编码转换
- 从Unicode到UTF-8的编码
- VBA转换文件编码到UTF-8
- 计算机编码发展ascll到utf-8
- 内码转换:以 GBK 编码到 UTF-8 编码为例
- tomcat改utf-8
- UTF-8到Unicode的编码转换(转贴)
- 使用Emeditor转换编码(Shift-JS 到 UTF-8)
- 系统从GBK 切换到 UTF-8编码
- vc中字符串到UTF-8编码转换函数
- Linux下批量转换到utf-8编码的问题
- linux 批量转换GBK到UTF-8编码的方法
- 页面到action乱码,其中数据库编码,页面编码,tomcat编码都已经为UTF-8
- 实现对象的复用——享元模式(五)
- 理解 TCP 三次握手及四次挥手
- java 项目相关路径的获取
- java 时间获取方法
- activity
- mariaDB utf-8改编码到utf8mb
- Redis 学习笔记(五)之列表类型
- Android6.0 显示系统(一) Surface创建
- 机器学习中的一些COST函数的说明
- C51汇编伪指令 CSEG DSEG
- tp5导出Excel表格
- Linux 系统管理
- AQS CAS简单详解(写的比较好)
- 【cocos2d-x 3.x 学习与应用总结】4: 理解CC_CALLBACK_0, CC_CALLBACK_1, CC_CALLBACK_2, CC_CALLBACK_3