字符与字节
字符与字节的问题
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个字节。
建议继续学习:
- 字符引用和空白字符 (阅读:4423)
- 正则表达式傻瓜书 第二章:元字符 (阅读:3865)
- 前端开发中HTML与javascript的常用字符编码 (阅读:3259)
- sql 语句查换行隐形字符 (阅读:3291)
- HTML特殊字符大全 (阅读:3122)
- C#网络通信中中文字符的传送以及SQL数据库存取中文的解决方法 (阅读:2981)
- Oracle中如何用SQL检测字段是否包括中文字符 (阅读:2769)
- java中文乱码解决之道(二)—–字符编码详解:基础知识 + ASCII + GB** (阅读:2629)
- 字符与字节 (阅读:2451)
- Oracle字符类型存数字及查询数字时使用单引号走不走索引的问题 (阅读:2326)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:玄月 来源: DBA@Taobao
- 标签: 字符 字节
- 发布时间:2009-10-13 15:13:35
-
[326] WordPress插件开发 -- 在插件使用 -
[152] 解决 nginx 反向代理网页首尾出现神秘字 -
[93] IOS安全–浅谈关于IOS加固的几种方法 -
[52] Hacker News 排名算法工作原理 -
[47] 中间件和稳定性平台 -
[47] 程序员技术练级攻略 -
[47] cookie窃取和session劫持 -
[47] 整理了一份招PHP高级工程师的面试题 -
[47] 到底什么是MVC? -
[46] Linux Used内存到底哪里去了?
