解决方法
NVARCHAR是正确的类型 – 它将所有内容存储在2字节的Unicode中.
您需要注意的是在sql Server Management Studio中使用NVARCHAR字段时,您绝对必须使用N’….’前缀!
如果你使用这个:
INSERT INTO dbo.YourTable(NVarcharColumn) VALUES('Some Chinese text here')
那么SSMS将临时将您指定的字符串字面转换为VARCHAR(非Unicode!),因此您将丢失任何Unicode编码的字符.
但是,如果您使用:
INSERT INTO dbo.YourTable(NVarcharColumn) VALUES(N'Some Chinese text here')
(注意字符串字面前的N个前缀!)然后,SSMS将一直处理所有的Unicode,并保留您的中文或韩文(或其他)特殊字符.