NVARCHAR
является подходящим типом для этого - он хранит все в 2-байтовом Unicode.
На что нужно обратить внимание, при работе с полями NVARCHAR
в SQL Server Management Studio -в этом случае вы абсолютно должны использовать префикс N'....'
!
Если вы используете это:
INSERT INTO dbo.YourTable(NVarcharColumn)
VALUES('Some Chinese text here')
, тогда SSMS временно преобразует строковый литерал, который вы указываете в VARCHAR
(не в Юникоде!), и поэтому вы потеряете все символы в кодировке Юникод.
Однако, если вы используете:
INSERT INTO dbo.YourTable(NVarcharColumn)
VALUES(N'Some Chinese text here')
(примечаниепрефикс N перед строковым литералом!) тогда SSMS будет обрабатывать все как Unicode все время, и ваши специальные китайские или корейские (или другие) специальные символы должны быть сохранены.