Как вставить арабские символы в базу данных SQL? - PullRequest
21 голосов
/ 21 мая 2010

Как я могу вставить арабские символы в базу данных sql? Я попытался вставить арабские данные в таблицу, и арабские символы в скрипте вставки были вставлены в таблицу как '??????'.

Я попытался вставить данные в таблицу напрямую через sql management studio, и арабские символы были успешно и точно вставлены.

Я искал решения для этих проблем, и некоторые темы предлагали изменить тип данных на nvarchar вместо varchar. Я тоже это попробовал, но безуспешно.

Как мы можем вставить арабские символы в базу данных sql?

1 Ответ

42 голосов
/ 21 мая 2010

Чтобы в поле можно было хранить символы Юникода, вы должны использовать тип nvarchar (или другой подобный, например ntext, nchar).

Чтобы вставить символы Unicode в базу данных, вы должны отправить текст как Unicode, используя тип параметра, такой как nvarchar / SqlDbType.NVarChar.

(Для полноты: если вы создаете SQL динамически (вопреки распространенным советам), перед строковым литералом ставится N, чтобы сделать его юникодным. Например: insert into table (name) values (N'Pavan').)

...