如果在文本字段中保存两个utf-8和普通文本(仅英文字符)
数据库中的存储长度是否有差异(可能不是将英文字符转换为英文字符)?
例子:
如果我在数据库中保存单词,请另存为:ali
但是,如果我将ali单词保存在数据库中,请另存为:一些代码超过3个字符
数据库:MySQL
引擎:InnoDB

最佳答案

UTF-8的思想是使用不同长度的字节序列对各种Unicode字符进行编码:
基本拉丁字母、数字和标点符号使用一个字节。
大多数欧洲和中东手写体字母按2字节顺序排列:扩展拉丁字母(带颚化符、长音符、锐音符、抑音符和其他重音)、西里尔字母、希腊字母、亚美尼亚字母、希伯来字母、阿拉伯文字母、叙利亚文字母和其他字母。
朝鲜语、汉语和日语表意文字使用3字节序列。
提示:要使用UTF-8节省空间,请使用VARCHAR而不是CHAR。否则,MySQL必须为CHAR CHARACTER SET utf8 column中的每个字符预留三字节,因为这是最大可能的长度。例如,MySQL必须为CHAR(10)字符集utf8列保留30个字节。

关于mysql - utf-8和mysql中普通文本长度存储之间是否有区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26037254/

10-11 01:43
查看更多