前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mysql存储emoji表情报错

Mysql存储emoji表情报错

作者头像
Light413
发布2020-04-08 16:04:10
1K0
发布2020-04-08 16:04:10
举报

PHP + MySQL , APP提交的数据包含表情,数据库存储失败!!!

mysql默认的所占字节数是3个字节的,对于大部分语言来说比如说汉字什么来说是足够的,但是emoji表情有日本文字转化而来,其占了4个字节,所以在存储过程中,会导致无法写入数据库mysql就会出现错误。 对于mysql5.5以上版本呢,其实支持更大字节的存储,需修改一下数据库的编码方式为utf8mb4

utf8mb4 是utf8的扩展,utf8mb4兼容utf8字符集,utf8 字符的编码、位置、存储在utf8mb4与utf8字符集里一样的,所以不会对有现有数据带来损坏。

  • 在mysql的安装路径下找到,配置文件:
代码语言:javascript
复制
Linux系统找my.cfg文件,在windows系统下找my.ini 。
修改以下两处 
[mysqld]character-set-server=utf8mb4 
[mysql] 
default-character-set=utf8mb4
重启mysql数据库服务。
  • 修改环境变量,将一下都修改成utf8mb4
代码语言:javascript
复制
   1、set character_set_client = utf8mb4;

   2、set character_set_connection = utf8mb4;

   3、set character_set_database = utf8mb4;

   4、set character_set_results = utf8mb4;
  • 将已经建好的相关表也转换成utf8mb4
代码语言:javascript
复制
执行命令:
alter table TABLE_NAME convert to character set utf8mb4 collate utf8mb4_bin; (将TABLE_NAME替换成你的表名)

ok,客户端不需要任何修改,再次提交数据表情一切正常。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PHP + MySQL , APP提交的数据包含表情,数据库存储失败!!!
  • ok,客户端不需要任何修改,再次提交数据表情一切正常。
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档