是否可以在SQL Server中创建一个可以存储中文,韩文和欧洲字符的字段?我的汉字就变成了?????
数据类型也是NVARCHAR。
答案 0 :(得分:33)
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的形式处理所有内容,并且应保留您的中文或韩文(或其他)特殊字符。