[这不是关于NVARCHAR或如何存储中文字符的问题]
SQL Server 2008 速成版
数据库排序规则是SQL_Latin1_General_CP1_CI_AS
create table sample1(val varchar(2))
insert into sample1 values(N'中文')
- 我知道这些汉字会变成垃圾字。
- 我知道我可以使用 nvarchar 来克服所有问题。
我不知道的是:为什么我运行插入语句时没有“字符串太长”错误?
- N 前缀表示客户端将使用 UNICODE 对字符串进行编码。
- 2个汉字会变成4个字节。
- varchar(2) 只能包含 2 个字节。
为什么人们对这个问题投反对票?真的吗?