Персидские числа в 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 и решить эту проблему, я надеюсь, что это поможет вам..