IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

字符与字节

DBA@Taobao 2010-01-04 13:19:07 累计浏览 2,656 次
本机暂存

字符与字节的问题
1、表t1
mysql> show create table t1\G
*************************** 1. row ***************************
Table: t1
Create Table: CREATE TABLE `t1` (
`a` char(1) DEFAULT NULL,
`b` binary(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk

1)插入数据:
mysql> insert into t1 values(’w',’w'),(’中’,'中’);

mysql> select * from t1;
+――+――+
| a | b |
+――+――+
| w | w |
| 中 | ? |
+――+――+

2)插入数据被截断:
mysql> insert into t1 values(’xy’,'xy’),(’中国’,'中国’);
Query OK, 2 rows affected, 4 warnings (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 4

mysql> select * from t1;
+――+――+
| a | b |
+――+――+
| w | w |
| 中 | ? |
| x | x |
| 中 | ? |
+――+――+

2、表t2
mysql> show create table t2\G
*************************** 1. row ***************************
Table: t2
Create Table: CREATE TABLE `t2` (
`a` char(2) DEFAULT NULL,
`b` binary(2) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=gbk

1)插入数据:
mysql> insert into t2 values(’w',’w'),(’中’,'中’);
Query OK, 2 rows affected (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 0

mysql> select * from t2;
+――+――+
| a | b |
+――+――+
| w | w |
| 中 | 中 |
+――+――+
2 rows in set (0.01 sec)

mysql> insert into t2 values(’xy’,'xy’),(’中国’,'中国’);
Query OK, 2 rows affected, 1 warning (0.00 sec)
Records: 2 Duplicates: 0 Warnings: 1

mysql> select * from t2;
+――+――+
| a | b |
+――+――+
| w | w |
| 中 | 中 |
| xy | xy |
| 中国 | 中 |
+――+――+

总结: char以字符来计算,一个中文一个英文都是占1个字符;
Binary以字节来计算,一个英文占1个字节,一个中文占2个字节。

同分类推荐文章

  1. 等了十年的 Go 链式管道,终于来了:seq 让你像写 Scala 一样写 Go (2026-06-25 18:38:18)
  2. Go 实验特性详解 (2026-06-21 10:05:27)
  3. amd64 微架构级别对 Go 程序性能提升多少? (2026-06-21 09:38:49)

查看更多 后端 文章 →

建议继续学习

  1. 字符编码和中文乱码小叙 (累计阅读 7,119)
  2. 比较完美地解决了 vim 编辑中文的问题 (累计阅读 6,821)
  3. 统计最近用过的linux命令 (累计阅读 6,532)
  4. 获取指定(访客)IP的所有信息,地址、邮政编码、国家、经纬度等的API (累计阅读 6,459)
  5. 中文编码杂谈 (累计阅读 6,371)
  6. Hadoop的map/reduce作业输入非UTF-8编码数据的处理原理 (累计阅读 5,645)
  7. html页面里的幽灵空行――UTF8Bom (累计阅读 5,487)
  8. Django 中 "Data truncated for column xxx" 解决方法 (累计阅读 5,417)
  9. UTF-8编码中BOM的检测与删除 (累计阅读 5,250)
  10. Unicode与字符汉字相互转换 (累计阅读 5,239)