|
Проблема с конвертацией между локалями в ODBC
|
|||
---|---|---|---|
#18+
Мы всегда использовали БД в кодировке Win1251 (CLIENT_LOCALE=ru_ru.CP1251, DB_LOCALE=ru_ru.CP1251), сейчас появилась необходимость взаимодействовать с БД в кодировке UTF8 (CLIENT_LOCALE=en_us.utf8, DB_LOCALE=en_us.57372). Подключаться решили через ODBC. Занесли с помощью java-программы (JDBC) смешанную строку из русских и английских букв, отобразили - все нормально. Считываем ту же строку с помощью ODBC c локлизацией CLIENT_LOCALE=en_us.utf8, DB_LOCALE=en_us.57372, получаем русские буквы преобразованные к 2-хбайтовому формату (UTF8, как и следовало ожидать). Далее, заменяю в настройках ODBC CLIENT_LOCALE на ru_ru.CP1251 и получаю "Unable to load locale categories" при открытии ODBC DSN. Для проверки заменяю CLIENT_LOCALE на en_us.CP1252, ODBC DSN открывается, но при считывании строки с русскими буквами получаю ошибку -210005 (не знает как перекодирывать). В FAQ прочел, что есть таблицы перекодировок. Соответственно есть 2 вопроса: как обеспечить работу ODBC с параметрами CLIENT_LOCALE=ru_ru.CP1251, DB_LOCALE=en_us.57372? Правильно ли я понял, что informix рассчитан на работу с многобайтовыми символами и мне не надо учитывать многобайтовость при задании длины полей (для 3-хсимвольной строки всегда хватит поля типа CHAR(3))? Работы велись под Windows 7, Informix 11.7 TC2, Informix Connect 3.5, ODBC из состава Informix Connect 3.5, просмотр выполнялся Borland SQL Exlorer из Delphi7 и ADExplorer из AnyDac 5. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2011, 22:57 |
|
Проблема с конвертацией между локалями в ODBC
|
|||
---|---|---|---|
#18+
DB_LOCALE=ru_ru.57372 Языки CLIENT_LOCALE и DB_LOCALE должны совпадать, кодировка может отличаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2011, 14:27 |
|
|
start [/forum/topic.php?fid=44&msg=37574244&tid=1607217]: |
0ms |
get settings: |
24ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
79ms |
get tp. blocked users: |
1ms |
others: | 16ms |
total: | 191ms |
0 / 0 |