mysql数据库中插入表情4个字节的
2024-09-25 20:40:23
这个问题,原因是UTF-8编码有可能是两个、三个、四个字节。Emoji表情或者某些特殊字符是4个字节,而Mysql的utf8编码最多3个字节,所以数据插不进去。
我的解决方案是这样的
1.在mysql的安装目录下找到my.ini,作如下修改:
[mysqld]
character-set-server=utf8mb4
[mysql]
default-character-set=utf8mb4
修改后重启Mysql
2. 将已经建好的表也转换成utf8mb4
命令:
更改数据库编码:ALTER DATABASE caitu99 CHARACTER SET utf8mb4
COLLATE utf8mb4_general_ci
;
alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (将TABLE_NAME替换成你的表名)
然后就OK了。网上流传的一个版本增加了一个步骤,就是把mysql环境变量将character_set_client,character_set_connection,character_set_database,character_set_results,character_set_server 都修改成utf8mb4,不过我没有做这一步,也正常,所以可能是这一步是多余的,如果需要改,则按照下面介绍做修改。
原文章
http://blog.csdn.net/likendsl/article/details/7530979
最新文章
- kali 2.0 U盘安装错误Your installation cd-rom couldn't be mounted
- CentOS7 FTP服务搭建(虚拟用户访问FTP服务)
- [MEMO]: 机器学习教父级别的任务Jordan推荐的书籍
- android实现倒计时
- Android 播放视频并获取指定时间的帧画面
- 结构体struct和联合体union以及enum枚举体5的区别
- c#写的热键注册程序
- FFmpeg源代码结构图 - 编码
- vue-cli3.0 flexible&;px2rem 解决第三方ui组件库样式问题
- wtforms组件使用实例及源码解析
- 记录tiny6410 使用linux-2.6.28.6内核遇到starting kernel...的问题
- Day03 - Ruby比一比:Module的include与extend
- Android学习笔记----Java中的字符串比较
- 点分治 poj1741
- <;Using parquet with impala>;
- MySql Cast与Convert函数
- centos7 安装svn, 同时支持 svn 和 http访问
- Luogu 1613 跑路(最短路径,倍增)
- 使用Arduino模块实施无线信号的重放攻击
- 数学建模及机器学习算法(一):聚类-kmeans(Python及MATLAB实现,包括k值选取与聚类效果评估)