2008-10-30 11 views
3

Я могу получить доступ к базе данных либо из .NET-программы (используя ODBC), либо с помощью инструмента управления базами данных (написанного на Java).Как найти, какой набор символов используется базой данных

Если я пишу символ «é» в базу данных из программы .NET, он отображается как «Õ» (капитал O с тильдой) в инструменте управления DB.

Если я пишу символ «é» в базу данных из инструмента управления БД, он отображается как «Å» (капитал A с кругом сверху) в .NET-программе.

Я не пытаюсь на самом деле решить проблему (т. Е. Обе программы показывают одно и то же), хотя это было бы хорошо. Я просто пытаюсь угадать, какие наборы символов каждый использует для интерпретации данных, так что я могу сделать преобразование самостоятельно, если я дамлю данные с помощью .NET и повторно введите его с помощью инструмента.

Итак, какая комбинация из 2 наборов символов привела бы к несоответствиям символов, описанным выше?

Благодарим за помощь.

EDIT: с помощью Sybase ASE 12,5

EDIT: в основном вопрос: знаете ли вы о кодировке символов, чей E9 код точка представляет символ «O» (капитал O с тильдой) или «Å '(столица A с кругом сверху)? (это предполагает, что один из них использует латинский 1, следовательно, E9, который, я думаю, довольно вероятен)

EDIT: Решение Paul делает это. Ответ на этот вопрос: hp-roman8

+0

Можете ли вы рассказать нам, какую СУБД вы используете? – 2008-10-30 05:51:13

ответ

3

Sybase автоматически пытается выполнить преобразование, если на сервере и на клиенте используются разные символы. Если включить автоматическое преобразование кодировок от использования,

set char_convert off 

вы все равно получите тот же «O» и на «A»?

+0

Блестящий! это сработало! Мне все еще интересно, что на самом деле сибаза думала, что это конвертирует текст, но это решает проблему! Благодаря! – Laurent 2008-10-31 02:10:35