我正在将我们的火鸟数据库中所有varchar列更改为UTF8,但我不明白varchar大小的区别。
例如,如果字符集和比对集设置为无,则可以将varchar大小设置为255,如果将字符集和比对集设置为UTF8,则当我们将varchar设置为255时,它会读取不同的值。
在UTF8中,varchar(255)的等效varchar大小是多少?
对于VARCHAR(N)
字段,使用UTF8字符集需要为任何N
个UTF8字符预留足够的空间。一个这样的字符的长度可能在1到4之间,因此唯一安全的方法是允许每个长度为4的N
个字符,这意味着需要为存储50个字符(最坏情况)保留200字节的空间。
您可以使用FlameRobin工具查看内部。假设您有一个表
CREATE TABLE "TableÅÄÖåäö"
(
"ColÅÄÖåäö" Varchar(50)
);