这里讲一下编码,涵盖内容包括:gbk、utf8编码,汉字,数据库,为什么会出现乱码。
Mysql库,character为utf_8
建表test: create table test(a varchar(20));
1
利用length,char_length函数看到字符串‘啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊’在utf_8的编码下占用了60byte空间,以及20个字符的位置。
mysql varchar(20) ;表明字段可以容纳20个字符的字符串,汉字字母均为一个字符;
ORACLE:
2
插入字符串‘啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊’报错 显示超长。
继续
3
利用函数length,lengthb的得到字符串的占用字符以及字节。
oracle varchar2(20) 标识字段最多可以容纳20个字节,汉字的占用字节需要依赖具体的数据库编码确定