Member 11086281 Ответов: 2

Проблема вставки арабских слов в SQL server


проблема вставить арабский текст в качестве переменной sql в sql server 2008 вставляет данные, подобные этому значению ???? .Как решить эту проблему?

Это мой запрос

вставить в тесты значения (N"+@name)

Что я уже пробовал:

Я попытался добавить в запрос N различных типов.Но я не могу решить эту проблему.

Richard MacCutchan

Нет никаких проблем с вставкой слов в любой язык: данные есть данные и не имеют смысла, пока они не будут показаны человеку. Вам просто нужно убедиться, что при выборе его из базы данных вы используете правильную культуру и шрифты для его отображения.

Member 11086281

Это мой вопрос.

объявить @name nvarchar(50);
set @name= 'محسن';
вставить в тесты значения (N"+@name)

Но как это спасает ???? в таблице

ZurdoDev

Это поле НВАРЧАР?

Member 11086281

да

2 Ответов

Рейтинг:
6

Member 11086281

Проблема решена с помощью этой ссылки http://www.serverintellect.com/support/sqlserver/change-database-collation [^] предложенный Мехди Голамом


PIEBALDconsult

Пожалуйста, не отвечай на свой вопрос. Просто используйте Improve question, чтобы добавить детали и контекст.

Member 11086281

ладно

Рейтинг:
20

Mehdi Gholam

То N префикс работает только с самой строкой а не с ее копией так что:

declare @name nvarchar(50);
set @name = N'محسن';
insert into tests values(@name)


Afzaal Ahmad Zeeshan

5ед.

Mehdi Gholam

Ура!

Maciej Los

Это не могло быть так просто... :смеяться:

Mehdi Gholam

:)

Member 11086281

друзья.Я посылаю переменную @name из моего кода c# в хранимую процедуру.Поэтому я не могу установить значение переменной, как указано выше.
Как использовать N' в этой переменной?

Mehdi Gholam

Затем проверьте параметры сортировки в вашей базе данных и при необходимости измените их : http://www.serverintellect.com/support/sqlserver/change-database-collation/

Member 11086281

@Mehdi Gholam: проблема решена с помощью приведенной выше ссылки .Спасибо, брат.Спасибо вам всем за помощь.