码迷,mamicode.com
首页 > 数据库 > 详细

一个汉字在数据库占几个字节

时间:2015-09-07 00:34:12      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

项目中oracle10g数据库表字段为varchar(n)类型,存英文很简单,只要字母个数不大于n即可。但是对于汉字,按照同样的方法就不行了。因为对于汉字不同的字符集,在数据库占用的字节是不一样的。UTF-8字符集,一个汉字占三个字节,gbk字符集,一个汉字占两个字节,比如varchar(10)类型的字段,UTF-8的汉字,只能存3个,gbk字符集的汉字却能存5个。
所以在程序中根据表字段varchar的大小,保存或更新时作出必要的校验否则后台会报错。
办法:1、用表格 maxlength属性,比如maxlength="5",即只能存5个汉字。

 

MySQL 5.0以上的版本:

1.一个汉字占多少长度与编码有关:

UTF-8:一个汉字=3个字节

GBK:一个汉字=2个字节

 

2.varchar(n)表示n个字符,无论汉字和英文,Mysql都能存入n个字符,仅是实际字节长度有所区别

 

3.MySQL检查长度,可用SQL语言:

select LENGTH(fieldname) from tablename 来查看

一个汉字在数据库占几个字节

标签:

原文地址:http://www.cnblogs.com/chris-oil/p/4787767.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!