mysql 字符集 表情_MySQL字符集(表情包)
目录
1. 问题 - MySQL插入表情包符号
2、解决方法
2.1针对字段修改编码格式(推荐使用)
2. 2、整个数据库修改编码格式
3. MySQL字符集
3.1 数据库字符集
3.1.1查看当前数据库字符集配置:
3.1.2 修改数据库编码格式
3.2 表的编码
3.2.1 参看表的编码格式
3.2.2修改表的编码格式
3.3 字段的编码
3.3.1 看字段编码格式
3.3.2 修改字段的编码格式
4. 可能的问题
4.1 ALTER TABLE `tbl` DEFAULT CHARACTER SET utf8 ; 字段编码格式未生效
4.2 对表DDL时,会锁表 -- (pt-online-schema-change)
1. 问题 - MySQL插入表情包符号
刚上mysql,经常发生前段传过来的内容入库发生异常,数据库报:
java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x8C\xB8’ for column ‘mechant_name’ at row 1
发现,数据库建表时候,用的是utf8字符集,传进来了表情包,表情包是4个字节的;
通常情况,Mysql数据编码格式为“utf-8”,对于汉字来说足够;Mysql中utf8占3个字节,但是,3个字节对于表情符号是不够的,需4个字节;此时使用utf8,会出现‘\xF0\x9F\x8D\x83\xF0\x9F’的问题。
2、解决方法
utf8mb4编码是utf8编码的超集,兼容utf8,并且能存储4字节的表情字符。
2.1针对字段修改编码格式(推荐使用)
数据库表对应字段上修改编码格式为utf8mb4,命令示例如下:
ALTER TABLE insure_user CHANGE nickname nickname VARCHAR(64) CHARACTER SET utf8mb4 ;
2. 2、整个数据库修改编码格式
修改数据库表的编码格式,修改为utf8mb4;修改Mysql配置文件my.cnf(windows下为my.ini),然后重启数据库
3. MySQL字符集
3.1 数据库字符集
3.1.1查看当前数据库字符集配置:
show variables like 'character%'
3.1.2 修改数据库编码格式
alter database databasename character set utf8
或者,直接修改mysql的配置文件 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
3.2 表的编码
3.2.1 参看表的编码格式
show create table table_name
可以输出完整的建表语句,看其中的 “DEFAULT CHARACTER”项;
3.2.2修改表的编码格式
alter table tablename character set utf8
3.3 字段的编码
3.3.1 看字段编码格式
show full columns from tableName
看 Collation列;
3.3.2 修改字段的编码格式
alter table tablename modify fieldname varchar(50) character set utf8
4. 可能的问题
4.1 ALTER TABLE `tbl` DEFAULT CHARACTER SET utf8 ; 字段编码格式未生效
虽然使用 ALTER TABLE `tbl` default character set utf8, 将表的编码格式修改成了utf8; 但是 字段的编码格式并没有修改过来;
修改字段的编码格式:
ALTER TABLE `tablename` CHANGE `字段名1` `字段名2` VARCHAR(36) CHARACTER SET utf8 NOT NULL;
将现有数据,转换成新的编码格式:
alter table `tablename` convert to character set utf8;
4.2 对表DDL时,会锁表 -- (pt-online-schema-change)
MySQL进行DDL操作时(修改字段类型、长度、编码等等,都属于DDL操作),MySQL会锁表;
如果数据量小的表,没有什么影响;如果数据量大(1w条记录以上?),就会对当前表的操作产生明显的影响;尤其是千万级,上亿的表,影响更大;
看介绍,使用 pt-online-schema-change 在线DDL工具,可以减少影响(只是减少影响,而不是完全避免影响);
pt-oneline-schema-change 自己没使用过,搞个链接过来吧,写着挺清晰的
https://www.cnblogs.com/allenhu320/p/11358652.html
mysql 字符集 表情_MySQL字符集(表情包)相关推荐
- ci框架 mysql 超时时间_mysql 字符集和校验规则( CHARSET amp; COLLATE)
我们首先看下常见建表语句: mallAllGoodsCREATE TABLE `qywl`.`mallAllGoods` ( `id` varchar(64) NOT NULL COMMENT '主键 ...
- 检测mysql字符正确_mysql字符集的测试
nls_lang用于设置客户端的字符集.影响sqlplus界面的语言. regedit: hkey_local_machinesoftwareoraclehome0 nls_lang键值 1.取值为' ...
- sqlyog更改字符集编码_MySQL 字符集设置
Linux(Ubuntu)环境描述具体操作,Unux与其基本一致,Windows路径配置上少有不同. 我们将讨论以下几个问题: 字符集问题表征 修正配置,设置默认字符集编码 在使用过程中强制设置字符集 ...
- mysql表情符号变为_mysql Emoji表情字符集转换
Java代码 java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\x94' for column 'name' at row 1 ...
- mysql字符集解释_MySQL字符集详解
一.MySQL字符集编码简单介绍 在使用MySQL时要注意6个需要编码的地方:系统的编码.客户端.服务端.库.表.列.字符集编码不仅影响数据存储,还影响client程序和数据库之间的交互.在mysql ...
- mysql 字符集 性能_MySQL字符集不一致导致性能下降25%,你敢信?
故事是这样的: 我在对MySQL进行性能测试时,发现CPU使用率接近100%,其中80%us, 16%sys,3%wa,iostat发现磁盘iops2000以下,avgqu-sz不超过3,%util最 ...
- mysql中设置字符集语句_MYSQL字符集设置的方法详解(终端的字符集)
前言 每次利用终端 创建数据库或者创建表的时候,字符集都是latin1,或者进行插入值的时候,显示的是乱码(不指定字符集的时候)如下: 查看当前数据库的字符集 character_set_client ...
- mysql 连接 字符集设置_Mysql 字符集的设置和修改
Show variables like 'character%'; //显示目前mysql默认 字符集 显示数据连接字符集 修改字符集 D:\mysql>Net stop mysql // ...
- mysql字符集设置_mysql字符集设置
配置文件路径: /full/path/mysql/bin/my.cnf (默认为/etc/my.cnf ) [client] default-character-set=utf8 [mysql] de ...
最新文章
- Pytorch转ONNX采坑记:Converting a tensor to a Python boolean might cause the trace to be incorrect. We...
- elementUI+vue-cli el-table=》excel
- python生成api文档_Django 自动生成api接口文档教程
- Python搭建web服务器
- srpm包的编译方式
- seo查询系统php源码,2020版SEO计费系统的源码
- ExecutorService的shutDown和shutDownNow方法的区别
- 利用Python进行数据分析——重要的Python库介绍
- Bootstrap入门!
- 爱创课堂每日一题第四天8/28日XML和JSON的区别?
- window下的批处理命令学习
- Download Software Top 10
- 商品进销存系统c语言课设报告,商品进销存管理系统_C语言-课程设计(附报告论文).doc...
- android 简单的闪屏页,闪屏页的实现简单原理
- 2020年中国互联网公司薪酬排行榜发布了!这些你都知道吗?
- SEER见证人操作指南
- 让App推广运营更高效,必须要有这几大功能!
- android SurfaceView 拍照时显示参照矩形框
- IE浏览器——莫名打不开
- 展锐荣获2021年中国5G实力榜之十大领航企业奖
热门文章
- 如何写PRD文档[最全版]
- 手Q游戏中心上线 完美释放娱乐基因
- Nexus 6p 刷入TWRP和OPENGAPPS
- Git 使用 stash暂存代码
- mac屏保怎么不显示,mac屏保怎么关闭
- Linux下Socket通信中非阻塞connect、select、recv 和 recvfrom、send和sendto大致讲解,附带非租塞connect代码、MSG_NOSIGNAL
- sasl java_java SASL_SSL 帐号密码 方式访问 kafka
- VUE设置浏览器标题及图标
- 泰坦尼克号python数据分析统计服_数据分析可视化——泰坦尼克号幸存者分析(上)...
- 增量型编码器与绝对值编码器