登录注册
Toggle navigation
课程
实战
项目
兼职
招聘
服务
登录注册
首页
>
Mysql
> mysql 为什么存微信昵称带图标会报错?uft8,uft8mb4区别
mysql 为什么存微信昵称带图标会报错?uft8,uft8mb4区别
2025-01-10 10:33:15
当存储微信昵称带图标的内容时,使用
utf8
编码报错,主要是因为微信昵称中的图标通常属于需要 4 字节编码的字符,超出了
utf8
(
utf8mb3
)的编码范围,导致数据无法正确存储,从而引发报错。而
utf8mb4
能够支持这些 4 字节字符的存储,可以正确存储微信昵称中的图标等特殊字符。
字符编码范围
utf8
实际上是
utf8mb3
,它最多只能使用 3 个字节来存储一个字符,能够支持大部分常用的字符,涵盖了基本的拉丁字母、汉字等,但不包括一些较新的 Unicode 字符和表情符号等。
utf8mb4
能够使用 4 个字节来存储一个字符,支持完整的 Unicode 字符集,包括各种表情符号、生僻汉字、一些特殊的符号等所有 Unicode 字符。
存储空间
对于存储相同的非 4 字节字符时,
utf8
和
utf8mb4
占用空间基本相同。
当存储需要 4 字节编码的字符时,
utf8
无法存储,而
utf8mb4
每个字符会占用 4 个字节的存储空间,相比
utf8
存储某些字符会占用更多空间。
性能
在进行字符处理和查询等操作时,如果表中存储的都是
utf8
能够表示的字符,
utf8
的性能可能会略高一些,因为它处理的字节数相对较少。
但如果涉及到大量的 4 字节字符处理,
utf8mb4
虽然在存储和处理上会稍微复杂一些,但能正确处理和存储这些字符,不会出现数据截断等问题。
上一篇:
Laravel 中间件的解释及示例代码
下一篇:
使用阿里云镜像优化 Composer 安装 Laravel
359人报名
0人报名
项目
Java CMS友情链接、轮播图、留言管理模块
¥ 500.00
Java CMS文章、栏目模块
¥ 800.00
PHP CMS友情链接、轮播图、留言管理模块
¥ 260.00
PHP CMS文章、栏目模块
¥ 400.00
×
微信扫码登录
未注册的微信号将自动创建账号
微信扫码
注册登录即代表同意
《早实习用户协议》
关于我们
联系我们
课程说明
实战帮助
项目帮助
用户帮助
Copyright @ 2024 zaoshixi.cn
鲁ICP备2024129423号-2
使用
Ctrl+D
可将网站添加到书签
收藏网站
扫描二维码
关注早实习微信公众号
官方公众号
官方微博
官方空间
Top