С# Запись иврита в БД, текст пишется слева направо, например. оле не привет

При записи иврита в базу данных текст записывается слева направо, хотя должен быть справа налево, поскольку иврит пишется справа налево, мое приложение пишет «привет», а должно писать «оллех» (конечно, на иврите ).

Чтобы прочитать иврит в моем приложении, я использую System.Text.Encoding.GetEncoding(1255);

Текст правильно отображается в моем приложении, но при записи в базу данных он записывается слева направо. Мой вопрос в том, что мне не хватает при записи текста в БД?

Большое спасибо Джонатан


person Jonathan Dyle    schedule 28.03.2010    source источник
comment
Ваш вопрос не очень ясен. Когда вы говорите, что пишете olleh, это проблема или желаемый результат? Что вы имеете в виду, когда говорите, что текст записывается в базу данных слева направо? На самом деле это не имеет смысла — текст направлен на страницу или экран, а не в запись базы данных.   -  person Michael Petrotta    schedule 29.03.2010
comment
Я переписал свой вопрос, надеюсь, яснее. Спасибо   -  person Jonathan Dyle    schedule 29.03.2010
comment
Что вы подразумеваете под записью в базу данных слева направо? Вы говорите о том, как текст отображается в инструменте запросов к базе данных, как пишет jleedev ниже?   -  person Michael Petrotta    schedule 29.03.2010


Ответы (3)


Кодовая страница 1255 кодирует текст в логическом, а не визуальном порядке. Поскольку вы сказали, что он правильно отображается в вашем приложении, но не в вашей базе данных, наиболее вероятным объяснением является то, что инструмент базы данных не поддерживает двунаправленный текст при интерактивном запросе. Это не имеет значения, так как пользователи не обращаются к базе данных напрямую. Ваше приложение делает это, а затем правильно отображает двунаправленный текст.

person Josh Lee    schedule 28.03.2010

Настроена ли ваша база данных с сортировкой справа налево? Например, порядок сортировки SQL Server 138 = порядок словаря, без учета регистра, для использования с набором символов 1255 (иврит).

person MikeW    schedule 29.03.2010

Попробуйте с этой кодировкой Encoding.UTF8; Encoding.GetEncoding("iso-8859-8");

person sam    schedule 30.04.2011