MySQL字符集编码中,VARCHAR 字符长度与字节长度的理解
MySQL中基于 UTF-8 字符集编码,VARCHAR 字符长度与字节长度的理解
- UTF-8 字符集
- utf8mb4 字符集
- 参考
UTF-8 字符集
在 mysql 4.1 及之前早期版本中,如果是字符集为UTF-8 , varchar 以字节为单位存储,一个汉字占 3 个字节,则 varchar(100) 类型字段只能存放约 33 个汉字。
而在往后的版本中,如 5.x ,一个汉字占多少长度与编码有关 。
在 UTF-8 字符集下,varchar 以字符为单位存储。所以 varchar(100) 类型字段可存放约 100 个汉字。
但是这并不是说 varchar(100) 就等于 100 个字节,例如一个中文占三个字节,而实际字节长度可以用 length 函数检验。
举个栗子:
某表姓名字段 name varchar(60) ,name 的值为 “万科”,用 length(name) 输出实际长度为 6。这说明一个中文汉字(一个字符)占 3 个字节长度。
utf8mb4 字符集
另外 mysql 的 UTF-8 编码并不是真正的 UTF-8 编码,mysql 的 UTF-8 最多只支持 3 个字节,而 emoji 表情、一些特殊的中文字符则需要 4 个字节才能存储,因此在 MySQL 5.6+ 版本之后支持 4Bytes 字节(utf8mb4)的存储, utf8mb4 是对原先 UTF-8 只能存储 3 个字节大小的字符的一种补充,是一种真正的UTF-8编码。
参考
- https://blog.csdn.net/Gerry_DC/article/details/108484009
- https://blog.csdn.net/weixin_35600369/article/details/113164223
MySQL字符集编码中,VARCHAR 字符长度与字节长度的理解相关推荐
- mysql字符集编码和排序规则
环境: mysql 5.7 26 DBeaver 21.1.2.202107041908 参考:<MySQL字符集与排序规则总结> 建议先阅读:<细说ASCII.GB2312/GBK ...
- linux修改mysql字符集6,linux下mysql字符集编码问题的修改
安装完的MySQL的默认字符集为 latin1 ,为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件:由于linux下MySQL的默认安装目录分布在不同的文件下:不像windo ...
- 常见编码介绍。一个字符在不同编码中分别占几个字节(新手向)
目录 什么是ASCII码? 1.介绍: 2.代码演示: 什么是Unicode码? 1.介绍: 2.注意事项的代码演示: 什么是utf-8? 一个字符在不同编码中分别占几个字节? 什么是ASCII码? ...
- 操作XML 报错:根级别上的数据无效 和 给定编码中的字符无效 解决办法
根级别上的数据无效,解决如下: private void button1_Click(object sender, EventArgs e) { try { XmlDocument doc = new ...
- c#给定编码中的字符无效_C#程序检查给定的字符串是否等于(==)运算符
c#给定编码中的字符无效 Input two strings and check whether they are equal or not using C# program. 输入两个字符串,并使用 ...
- matlab imread 出错 错误使用 fopen 文件名包含未包括在文件系统编码中的字符。 某些操作可能无法按预......
提示错误一 错误使用 imread>parse_inputs (line 450) 文件名或 URL 参数必须为字符向量. 出错 imread (line 322) [filename, fmt ...
- mysql设置varchar_MySql中varchar长度的设置问题
根据自己多年的工作经验,特别是在接收旧的项目时,varcahr的长度设置有不同的风格,针对varchar长度的设置问题,自己划分了不同的门派. 1.强迫症派:长度设置为4或者8的倍数,达到内存对齐的目 ...
- 数据库中varchar类型长度是指字符长度还是字节长度?两种定义方法
Oracle中varchar2类型的字段长度单位默认是按照byte来定义, 比如常见写法varchar2(10) 代表只接收最大10字节长度 这种定义情况下10字节只能插入3个汉字,(数字字母只占一 ...
- mysql utf-8不支持生僻字_关于 MySQL UTF8 编码下生僻字符插入失败/假死问题的分析...
1.问题:mysql 遇到某些中文插入异常 最近有同学反馈了这样一个问题: 上述语句在脚本中 load 入库的时候会 hang 住,web 前端.命令行操作则要么抛出 Incorrect string ...
最新文章
- 施一公:年轻人不要花时间去拉关系,尽全力做研究,以实力取胜!
- 计算机视觉系统中图像究竟经历了哪些“折磨”
- 我的常用在线工具网站
- python实现卡方(Chi-Squared Test)相关性检验
- Python深入04 闭包
- UA MATH565C 随机微分方程V 算子半群理论简介
- 跨浏览器Ajax调用封装
- uboot移植(七)——移植三星官方uboot(一)
- leetcode 贪心_leetcode题解(贪心算法)
- 剑指offer||3 前n个数二进制数中1的个数
- 读《图解TCPIP》
- ajax php投票记录功能,PHP 实例 AJAX 投票 | 菜鸟教程
- 回溯算法求解桥本分数式
- 从思维走向实践,数字化转型 IT 经营的成功路径
- JAVA游戏土行孙_《封神榜》土行孙,被誉为国内最知名矮星,现惨淡靠低保度日...
- CSS | 水平垂直居中都有哪几种方式
- 网络流——最大流和最小割
- C++:求整数num中包含因子k的个数
- 第1章 Linux系统的发展 (一)
- 李白的藏头诗鸿蒙圣安卓,记李将军回来藏头诗生成器下载(李白藏头诗在线生成器)V1.4 安卓简化版...