精华内容
下载资源
问答
  • 4.0 版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能33个(每个汉字3字节) 5.0 版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100...

    首先要确定mysql版本,一般一个汉字2个字节,50即可存25个汉字。

    4.0 版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)

    5.0 版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。

    注:借阅文章地址:https://zhidao.baidu.com/usercenter?uid=a7e74069236f25705e79c662&role=pgc

    展开全文
  • utf8编码的varcharMysql记录行数据是有限的。大小为64k,即65535个字节,而varchar要用1-2字节来存储字段长度,小于255的1字节,...第一,当编码方式为utf-8时,varchar存到21845就存不下了.也就是最大长度是21844....

    utf8编码的varchar

    Mysql记录行数据是有限的。大小为64k,即65535个字节,而varchar要用1-2字节来存储字段长度,小于255的1字节,大于255的2字节。

    Mysql 5.0后,英文字符固定都是一个字节,汉字字符根据编码方式占不同字节,Utf-8占3个字节,gbk占了2个字节。

    第一,当编码方式为utf-8时,varchar存到21845就存不下了.也就是最大长度是21844.根据上面信息可以推算出 ( 65535-2 )/3=21844余1

    例子如下:

    ba7bafda5e07073e06f69564f027f5da.png

    9fc4f82a381964cf7b95e2c08a523dcf.png

    GBK编码的varchar

    当编码格式为GBK时,varchar能存多少字符呢?经过推理可知大约能存32766个字符,(65535-2)/2=32766余1。

    那么看看实验结果如下:

    e637c4b7e90226e7eb9eef76360dca52.png

    2b4397794de8bd1fbc8f9ffe42d0037f.png

    为何提出这个问题?

    前段时间一个哥们提bug,要把备注等字段全部最大大小设置为1000,甚至更多,这个表的字段本身就已经很多了,而我们设计表时一般都默认使用utf8这个编码格式,那么一个汉字就占了3个字节,故一个行记录的长度就会短了些,数据占用存储资源也会多了些,然后修改的时候成功的报了row size too large的这个错误。这里提出来也是为了让大家注意下。

    总结

    设计表的时候不同的编码格式会导致varchar的最大值发生变化,varchar(数值),这个数值指的是字符数,也可以说是一个字,但是不是字节,当然存储的数据还是一个英文占一个字节,一个汉字根据编码格式占不同字节。

    展开全文
  • 因为我在码这些之前自己想尽了一切方法测试都没找到一个占用四字节的汉字 ... 怾gi 黁nun 兺bun 乯olo 乭daori 旕eosi 銰ngai 虄sari 哛popuni 硛ceoke 縇seone 穒keweoke 这组够不够生僻 ..? 每个也仅仅...

    好吧这问题的最佳答案难选了 ... 我是来添乱的 ...

    楼上三个回复都正确但都不全面 ...这事情主要还是看 数据库字符集 ...

    如果是 latin1 的话 ... 计算字节长度 ... greatghoul 的答案是对的 ...

    如果是 utf-8 的话 ... 计算字符长度 ... joyeu 的答案是对的 ...

    至于 Theo 的答案里说的 4.1 为临界点的区别 ... 这事情真心和版本没什么关系 ...

    只是因为 4.1 之后才引入字符集支持的口牙!

    如果选 latin1 的话不管什么版本都会计算字节长度的口牙!

    为了避免这个答案看起来是完全照抄了楼上 ... 我提一点其他的东西 ...

    其实这题目里有另外一个坑 ... 就是要保存的东西是 汉字 ...

    如果要保存 utf-8 字符的话 latin1 字符集可以保存 63 - 127 个 ...

    但如果要保存汉字 ... 那么最大数量恐怕只有精确的 85 个 ...

    因为我在码这些字之前自己想尽了一切方法测试都没能找到一个占用四字节的汉字 ...

    怾gi 黁nun 兺bun 乯olo 乭daori 旕eosi 銰ngai 虄sari 哛popuni 硛ceoke 縇seone 穒keweoke

    这组字够不够生僻 ..? 每个字也仅仅占用三字节而已 ...

    至于两字节的汉字 ... 我也找不到 ... greatghoul 说的 〇 是错的 ... 〇占用三字节 ...

    来个总结性陈词 ...

    MySQL 中的 VARCHAR(255) 可以存放 1 - 255 个 UTF-8 格式的汉字 ...

    latin1 字符集最多可以存放 85 个 UTF-8 格式的汉字 ...

    utf-8 字符集最多可以存放 255 个 UTF-8 格式的汉字 ...

    如果谁可以找到一个占用两字节或者占用四字节的汉字那么我的这个答案就错了 ...

    找不到的话可以姑且信之 ...

    以上 ...

    展开全文
  • 标题:MYSQL字段的长度varchar类型能存多少中文字符 MySQL | ver < 4.1: VARCHAR以字节为单位存储,所以假设全部为常用汉字(UTF-8 3字节编码长度),则VARCHAR(255)共可存放约85个汉字; MySQL | ver >= ...

    标题:MYSQL字段的长度varchar类型能存多少个中文字符
    MySQL | ver < 4.1: VARCHAR以字节为单位存储,所以假设全部为常用汉字(UTF-8
    3字节编码长度),则VARCHAR(255)共可存放约85个汉字;

    MySQL | ver >= 4.1:
    VARCHAR以字符为单位存储,假设输入仍然为常用汉字,则VARCHAR(255)可以存放255个汉字。##

    展开全文
  • {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行...
  • 它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。 UTF-8包含全世界所有国家需要用到的字符,是国际编码,通用性强。 UTF-8编码的文字可以在各国支持UTF8字符集额的浏览器上显示。 如果是UTF8编码,则...
  • 2、varchar能存多少汉字、数字? 3、varchar的最大长度是多少呢? 4、字符、字节、位,之间的关系? 5、mysql字段类型存储需要多少字节? 接下来请仔细看,整理不易啊。 1、varchar(100)和varchar(10)的区别在...
  • 每个汉字占3个字节 所以最多能存66个,67个及以上不行,会报如下错误。 [2021-07-21 14:40:45] [22001] 错误: 对于可变字符类型来说,值太长了(200)
  • VarChar能存储多少个值

    2020-12-18 10:00:31
    参考链接:MySQL 数据库 varchar 到底可以存多少汉字多少个英文 首先我们需要了解utf-8和GBK的区别,因为不同的编码格所占的字节数是不同的 中文 英文 utf-8 1~3个字节 1个字节 GBK 2个字节 1个字节 ...
  • 场景介绍: ...1,varchar(100)能存多少汉字? 具体还是要看版本的,一个字符占用3个字节 ,一个汉字(包括数字)占用3个字节=一个字符 (1)MySQL 4.0版本以下 varchar(100),指的是100字节,如果存放
  • 展开全部4.0版本以下,varchar(50),指的是50字节,如果存放UTF8汉字时,只能16个(每个汉字3字节) 5.0版本以上32313133353236313431303231363533e59b9ee7ad9431333365643662,varchar(50),指的是50字符,无论存放...
  • 所以5.0以上的就不用说啦,你在定义类型的时候,用作标题还是小文本,期望不超过多少字,直接写入在夸号中就可以啦;那么5.0以下的版本怎么去计算字节填写的数字可以存储多少汉字或者数字呢。一个汉字等于三个字节...
  • 2、varchar能存多少汉字、数字?3、varchar的最大长度是多少呢?4、字符、字节、位,之间的关系?5、mysql字段类型存储需要多少字节?接下来请仔细看,整理不易啊。1、varchar(100)和varchar(10)的区别在哪里?一般...
  • 1.存储单位MySQL在5版本以后,varchar(45),指的是45个字符,可以存放45个汉字,或者45个英文字母(一个UTF8汉字和一个英文字母一样,都占用1个字符)。MySQL在4版本以前,varchar(45),指的是45个字节,可以存放15个...
  • 一、关于UTF-8UTF-8Unicode Transformation Format-8bit。是用以解决国际上字符的一种多字节编码。它对英文使用8位(即一个字节) ,中文使用24位(三个...如果是UTF8编码,则在外国人的英文IE也显示中文,他们无需...
  • 动手测试之:新建表:CREATE TABLE varchar_test (`id`int(11) NOT NULL ,`string`varchar(20)) ENGINE=InnoDBDEFAULT CHARACTER SET=utf8COLLATE=utf8_general_ci插入表INSERT INTO varchar_test (id, string)...
  • 1、不同编码中汉字占用的字节 字节,计量存储容量的计量单位之一,通常情况下:1字节bytes = 8位bits。 字符,计算机中使用的字母、数字、和符号等。...2、mysql varchar(100)能存汉字数 这和mysql的版本有关系
  • 1、varchar(5)可以存储多少汉字多少个字母数字?相信有好多人应该跟我一样,对这个已经很熟悉了,根据经验我们很快的做出决定,比如说用varchar(200)去存储url等等,但是,即使你用了很多次也很熟悉了,也有...
  • 输出为 250 255 307 如果某个字段属性为varchar(249)那么第一个字符串入库就会报错,如果varchar(254)的话第一个字符串存入就会报错。可以看出不管是数字还是字符串是按照单个字符来做基本单位的,只要一个字符就...
  • UTF8编码:一个汉字 = 3个字节,英文是一个字节GBK编码: 一个汉字 = 2个字节,英文是一个字节在UTF8状态下langtext: 4294967295/3=1431655765个汉字,约14亿,存储空间占用:4294967295/1024/1024/1024=4G的数据;...
  • 从上面可以看得出来char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。所以实际应用中用户可以根据自己的数据类型来做。再...
  • 在 MySQL5.0以上的版本中,varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个 节,也就是说,在4.1或以下版本中需要使用固定的TEXT或BLOB格式存放...
  • ---------------------------华丽无敌的分隔线--------------------------- 现在我们来算一下上面的表的varchar字段到底能存多少字符: 下表列出每个字段所占的字节数: int(11) 4字节 int(11) 4字节 smallint(6) 2...
  • 你好,我是李辉。这是专栏的第一篇文章,在专栏的前几个小节,我会先和你先聊一聊 MySQL 的数据...这一小节我们就先来说说在数据建模设计时使用非常频繁的字符串类型 – VARCHAR。为了在阅读时不引起歧义,本专栏...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,588
精华内容 14,235
关键字:

varchar(500)能存多少汉字