我找到了很多有关 varchar 类型最大大小的信息,但没有找到任何提及西里尔字母的信息。
从mssql 2000规范中可以清楚地看出,varchar类型可以容纳8000个字节,相当于8000个ASCII表字符。但是 ASCII 中没有西里尔字母,然而,我的实验表明 varchar(8000) 完全适合并返回 8000 个字符,包括西里尔字母。
这是如何运作的?
我找到了很多有关 varchar 类型最大大小的信息,但没有找到任何提及西里尔字母的信息。
从mssql 2000规范中可以清楚地看出,varchar类型可以容纳8000个字节,相当于8000个ASCII表字符。但是 ASCII 中没有西里尔字母,然而,我的实验表明 varchar(8000) 完全适合并返回 8000 个字符,包括西里尔字母。
这是如何运作的?
您可能没有启用 utf-8,并且传统上使用 1 字节 1251 编码。
nvarchar
对于 Unicode 数据,最好采用正常方式: