一个汉字在数据库占几个字节
2023-09-11 14:14:16 时间
项目中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 来查看
相关文章
- 数据库设计【笔记】
- 数据库事务的四个特性和含义
- 一个汉字在数据库占几个字节
- Linux启动/停止/重启Mysql数据库的方法
- 数据库开放权限太危险,又不想写API。DataV给你另外一个选择。
- 使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异试读版
- SAP Fiori gateway OData开发重要的tcode SEGW背后的数据库表
- 数据库迁移工具包:Database Migration Toolkit - v10
- CentOS下MySQL数据库调优
- 在Qt中操作MySQL数据库
- 【Android 逆向】应用数据目录 ( files 数据目录 | lib 应用自带 so 动态库目录 | databases sqlite3 数据库目录 | cache 缓存目录 )
- ADO.NET入门教程(五) 细说数据库连接池
- 数据库和多维数据库的权限管理的技巧