MYSQL处理4字节(昵称表情等特殊字符)字符乱码问题
utf8和utf8mb4的区别
1、原理
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。
2、应用场景
那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等(utf8的缺点)。
解决方法
存储和读取的时候使用base64位加密、解密字符串:
加密:base64_encode()
解密:base64_decode()
MYSQL处理4字节(昵称表情等特殊字符)字符乱码问题相关推荐
- eomj表情 mysql_mysql存储4字节的表情包数据报异常_Emoji表情包_Incorrect string value: #3...
本文章转载自:https://www.cnblogs.com/coprince/p/7485968.html 原文如下: 问题描述:从新浪微博抓取消息保存到MySQL数据中,对应数据库字段为varch ...
- mysql存带表情的微信昵称_MySQL保存 emoji 表情(微信昵称表情)
问题分析 在微信开发过程中,总是会遇到带有emoji表情昵称的微信用户无法自动登录的问题. 后台代码抛出类似下面的异常信息. java.sql.SQLException: Incorrect stri ...
- mysql 过滤微信昵称表情_PHP正则过滤处理微信昵称中emoji字符的方法
本文实例讲述了PHP正则过滤处理微信昵称中emoji字符的方法.分享给大家供大家参考,具体如下: 今天刚做了一个微信应用,在获取微信昵称的过程中报错了,经查原因是微信昵称中包含emoji字符,在写入数 ...
- mybatis mysql 微信昵称表情_springboot+mybatis+druid+mysql 保存emoji表情
最近在学习springboot,在练习做一个简单博客系统时遇到了保存emoji表情出错,搜索了半天才搞定.这里记录下来,希望能够帮助到自己或有需要的人不要踩坑. 第一步:首先你要保证你的mysql数据 ...
- mysql存储图片node_Node.js教程 阿里云mysql如何支持存储emoji表情
本篇教程介绍了Node.js教程 阿里云mysql如何支持存储emoji表情,希望阅读本篇文章以后大家有所收获,帮助大家对Node.js的理解更加深入. < 本篇主要记录nodejs项目阿里云m ...
- mysql 保存微信特殊昵称报错,报非法字符异常
解释: 这些字符发现都是 emoji 表情在各个编程语言种对应的编码也不相同 原因和办法: 特殊字符一个字符有可能是一个符号由4个字节组成,但UTF-8 一个字符由3个字节组成,所有会报错 1. 在数 ...
- mysql gbk编码 字节数_MySql中UTF8和GBK编码中文字符长度问题
2.设计函数,输入为一个字符串,里边包含中文.英文.数字等字符,编码为GBK.中文字符的编码规则假定为:双字节组成,高字节大于0x80,低字节任意. a) 用常用语言(c/c++/php/ja ...
- android edittext禁止输入特殊字符,禁止输入表情以及特殊字符方法
/** * 禁止输入表情以及特殊字符 */ public static class EmojiExcludeFilter implements InputFilter { @Override publ ...
- java去除emoji表情等特殊字符。
java去除emoji表情等特殊字符.保留html标签 package test;import java.util.regex.Matcher; import java.util.regex.Patt ...
最新文章
- 因子分析数据_Excel数据分析案例:用Excel做因子分析
- RESTful服务最佳实践
- 同样的工作年限,为什么有人年薪百万,有人月薪五千?
- 虚拟机安装linux系统无法上网的解决方法
- 机器学习系列之手把手教你实现一个分类回归树
- 【Java】HashMap构建登录程序
- 【JVM】浅谈对OOM的认识
- Markdown编辑器简单总结
- 中文文本纠错论文解读——Adaptable Filtering using Hierarchical Embeddings for Chinese Spell Check
- 锂电池保护板测试软件,锂电池保护板测试仪
- 微博热搜数据变化趋势视频化展示
- Android 中的长度单位详解(dp、sp、px、in、pt、mm)具体解释与换算
- idb 怎么回复mysql_mysql利用frm和idb文件恢复数据库
- C语言中的逗号的作用,c语言中什么是逗号运算符并举例
- Linux安装SQuirreL SQL Client
- selenium安装及在python中简单使用
- 如何通过python爬股票接口获取证券交易日?
- IDEA + Tomcat + war 包部署 [ 如果看别的教程不行请看这个里 ]
- 每周推荐短视频:阿里云基于校企合作培养数据库技术人才
- 自考计算机应用学哪几科先,计算机科学与技术自考本科科目有哪些要考
热门文章
- 浪潮集团_软件开发工程师_笔试+面经
- 打造高质效的技术团队 —— 混乱篇
- C++实现忍者跑酷小游戏
- linux syslog 删除文件_Linux不小心删除日志文件syslog的解决方法
- JDK8都10岁了,你还在用for循环遍历list吗?
- 站长在线python精讲:在Python中使用“+”运算符来拼接字符串详解
- 国金证券:2007年6月投资策略报告
- 管理经济学【十一】之 寡头垄断市场中的企业决策
- 商业创新的五个故事,用友YonSuite让全员皆创新
- Reinforcement Learning Enhanced Heterogeneous Graph Neural Network阅读笔记