Персидские числа в SQL Server 2005

Я пытаюсь добавить персидский текст в базу данных SQL Server 2005.

С буквами проблем нет, кроме персидских цифр (۱،۲،۳،...) преобразуются в ?...

Например, если я добавлю этот текст (سلام ۱۲۳۴‍‍‍) к базе данных, будет (سلام ؟؟؟؟) в базе данных /

Что я должен делать? (например, какое сопоставление я должен использовать?)

я использую Arabic_CI_AS сверка. в этом списке фарси (персидское) сопоставление Arabic_CI_AS(SQL Server 2005 не имеет Persian сопоставление, но 2008 имеет!)

Примечание: я не могу использовать более новые версии SQL Server...

2 ответа

Решение

Если вы вставляете строковые литералы, обязательно пометьте строки Unicode с помощью N'', например:

select N'سلام ۱۲۳۴‍‍‍'

Далее, убедитесь, что вопросительные знаки являются только проблемой отображения в SSMS:

declare @t nvarchar(50) = N'سلام ۱۲۳۴‍‍‍'
select unicode(substring( @t, 1, 1))
select unicode(substring( @t, 2, 2))
select unicode(substring( @t, 3, 3))
select unicode(substring( @t, 4, 4))

возвращает значения Unicode для каждого символа:

1587
1604
1575
1605

Я помню, что в SSMS 2005 были проблемы с отображением определенных диапазонов Unicode в окне результатов.

Вы можете использовать сопоставление Arabic_CI_AI и решить эту проблему, я надеюсь, что это поможет вам..

Другие вопросы по тегам