php emoji 乱码,微信emoji昵称展示乱码问题
搜索热词
对于没有把表情等特殊字符考虑在内的系统,当向数据库写入emoji时,数据库就会报错,如下所示:
数据库写入emoji时报错
原因
emoji表情为4个字符,而一般MysqL的utf8编码最多3个字节,所以插入时就会报错。
前端解决方案
作为一个前端,自己能解决的,绝不麻烦后端同学。在前端,将emoji字符先使用encodeURIComponent进行转义,写入数据库,然后读取显示时,再使用decodeURIComponent进行解码。
更改数据库编码格式将MysqL的编码从utf8转换成utf8mb4。
从 MysqL 5.5.3 开始,MysqL 支持一种 utf8mb4 的字符集,这个字符集能够支持 4 字节的 UTF8 编码的字符。 utf8mb4 字符集能够完美地向下兼容 utf8 字符串。在数据存储方面,当一个普通中文字符存入数据库时仍然占用 3 个字节,在存入一个 Unified Emoji 表情的时候,它会自动占用 4 个字节。所以在输入输出时都不会存在乱码的问题了。
要使用 MysqL 的这个特性,首先需要把 MysqL 升级到 5.5.3 以上的版本。其次,需要修改数据结构中的字符集为 utf8mb4 ,如 utf8mb4_general_ci 。由于 utf8mb4 是 utf8 的超集,从 utf8 升级到 utf8mb4 不会有任何问题,直接升级即可;如果从别的字符集如 gb2312 或者 gbk 转化而来,一定要先备份数据库。然后,修改 MysqL 的配置文件 /etc/my.cnf,修改连接默认字符集为 utf8mb4 ,如果是自己写的 PHP 脚本,也可以在连接数据库以后首先执行一句 sql: SET NAMES utf8mb4;。这时候,PHP 应该就可以正常保存 Emoji 到数据库了。对于数据库配置不是很懂,以上摘抄自博文emoji写入数据库报错处理的方法参考1、encodeURIComponent2、emoji写入数据库报错处理的方法
可以通过扫码识别小程序体验下
亲测可以正常展示emoji,如果有没有解决的,可以在评论区域留言。
总结
以上是编程之家为你收集整理的微信emoji昵称展示乱码问题全部内容,希望文章能够帮你解决微信emoji昵称展示乱码问题所遇到的程序开发问题。
如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
php emoji 乱码,微信emoji昵称展示乱码问题相关推荐
- android dat 乱码,微信dat文件打开乱码
微信dat转码软件使用操作说明在线解码,各位同学下载软件后,如何操作?如何找到dat文件?如何使用?又有哪些注意事项呢?这里会为大家一一道来.问题1 :如果下载失败怎么办?请先检查网络,软件并没有放在 ...
- 微信昵称乱码 mysql_微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案...
微信网页开发获取用户昵称乱码 微信昵称包含emoji表情乱码的解决方案如下: 问题产生原因:由于数据库及属性一致设为utf8,而utf8只支持1-3个字节.当用户昵称为emoji表情时,获取用户基本信 ...
- mysql存储用户昵称_mysql 微信用户昵称 emoji 完整保存 - 人人都是架构师
微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为mysql只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...
- mysql 微信用户昵称 emoji 完整保存
微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为mysql只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...
- emoji昵称php,php过滤微信用户昵称emoji表情方法汇总 - 旗云号
php过滤微信用户昵称emoji表情方法汇总 微信用户昵称带emoji表情的话,保存数据库会报错,解决办法有两种:一.修改数据库表和字段的字符集为utf8mb4:二.过滤emoji表情字符:根据自己的 ...
- 微信昵称 mysql_mysql 微信用户昵称emoji 完整保存
微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为MySQL只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...
- mysql 微信昵称怎么保存_mysql 微信用户昵称emoji 完整保存
微信用户昵称现在丰富多样,一些个性的名称中经常包含有特殊字符,以及emoji表情.起先,我总以为mysql只能保存纯文本数据.但其实mysql(5.7版本)已非常强大,完整保存微信用户昵称(emoji ...
- 微信彩色昵称,表情emoji,手持弹幕,空白昵称消息小程序搜索:在线实用工具箱
小程序搜索:在线实用工具箱 或扫描下方小程序码. 首页:汉子查拼音,转二维码,手持弹幕,彩色昵称,emoji表情,空白昵称小程序功能 我的页面
- php微信Emoji表情处理
一.适用场景 通过代码实现微信Emoji表情处理. 二.相关代码 1.字节转Emoji表情 /*** 字节转Emoji表情* @author php_elephant* @param $cp 数据* ...
- python玩转emoji ????(微信又“偷偷”更新了这个表情)
1999年,emoji 正式诞生: 2007年,谷歌向维护不同平台和语言符号文字标椎化的统一码联盟发起提议,希望统一码联盟能出面标准化 emoji: 2009年,emoji 表情被纳入因特网 Unic ...
最新文章
- CImage与OpenCV兼容问题
- C++ 的基础概念(3)——多态详解。
- linux的i o模型,浅谈Linux 网络 I/O 模型简介(图文)
- CentOS6.x 下 LNMP环境搭建(二、安装 Nginx)
- BigDecimal类的常用算法
- python和java选择哪个-python与java,该选择哪一个?
- 在VMware Workstation 9中安装Mac OS X 10.8 Mountain Lion
- SQL 语句 - Select(6): 字段运算
- altium designer 常用元件封装
- 在全志平台调试博通的wifi驱动(类似ap6212)
- 推荐一个Firefox的扩展——IE Tab
- 算法学习笔记12:散列表
- 源领域和目标领域过程相似性分析
- .net core 集成skywalking
- 端午百望山爬山活动-金山词霸运营团队活动
- HMS Core Insights第三期直播预告—— 当我们在谈论App的时候,我们还可以谈论什么?
- mysql 抢票_PHP 高并发、抢票、秒杀 解决方案
- 华为:当丑小鸭变成黑天鹅?
- 零钱模拟器微信小程序源码下载
- 【贝壳】(算法工程师)采木【Python】