SQL Server数据库字段用于处理韩文和中文字符

时间:2011-01-19 14:52:56

标签: sql-server database internationalization cjk

是否可以在SQL Server中创建一个可以存储中文,韩文和欧洲字符的字段?我的汉字就变成了?????

数据类型也是NVARCHAR。

1 个答案:

答案 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的形式处理所有内容,并且应保留您的中文或韩文(或其他)特殊字符。