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