本文为掘金文章转载
背景
上周在评审测试用例时,有一个营销话术的接口字段,业务上要求不能超过 200 字,会上有人问,后端数据表中的这个字段,最多能存储多少个中文字符,有没有对存储字数做限制。我插入了一句,那要看数据表中这个字段定义的是什么数据类型(CHAR、VARCHAR,TEXT 等),一个中文占两个字节,用这种数据类型的字节数除以 2,就是能存储的中文字符数。然后另一个同事说,UTF-8 编码,一个中文占用 3 个字节。这句话颠覆了我之前的认知,在我的印象里,一个中文占用两个字节,怎么会是三个。我决定查一查,看看谁对谁错。
一石激起千层浪
本以为搜索一下就能获得答案,可是发现这个知识点,有些渊源,一言难尽。说得太概括,人难免还是会有疑问。需要追根溯源,才能讲清楚。在查找答案的过程中,发现网上的文章良莠不齐,对于同一个知识点,不同的文章说法相互矛盾,让人思维有些凌乱,对于这种情况,我选择取这些文章的交集,摒弃矛盾与冲突。
more >>