Как найти, какой набор символов используется базой данных - PullRequest
4 голосов
/ 30 октября 2008

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

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

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

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

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

Спасибо за вашу помощь.

РЕДАКТИРОВАТЬ: с использованием Sybase ASE 12,5

РЕДАКТИРОВАТЬ: в основном вопрос заключается в следующем: знаете ли вы кодировку символов, чья кодовая точка E9 представляет символ «Õ» (заглавная O с тильдой) или «Å» (заглавная A с кружком сверху) )? (это предполагает, что один из них использует латиницу 1, следовательно, E9, что, я думаю, вполне вероятно)

РЕДАКТИРОВАТЬ: Решение Павла делает это. Ответ о кодировке: hp-roman8

1 Ответ

4 голосов
/ 30 октября 2008

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

set char_convert off

Вы все еще получаете те же 'Õ' и 'Å'?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...