![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| RETROme |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.9.2008 Репутация: нет Всего: нет |
Как правильно осуществить чтение русского текста из базы Oracle 9i с помощью DBI в Perl (5.8.0 версии)?
|
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
RETROme, уточните вопрос, более детально опишите.
В какой кодировке у вас БД? |
|||
|
||||
| RETROme |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.9.2008 Репутация: нет Всего: нет |
nitr, я так понимаю, универсального метода нет? Доступа к администрированию сервера с базой не имею, есть доступ только к самой базе. Исходная кодировка должна быть cp1251. Сейчас код примерно такой (собственно та часть, где идёт работа с базой):
|
|||
|
||||
| gcc |
|
|||
![]() Агент алкомафии ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2691 Регистрация: 25.4.2008 Где: %&й Репутация: 1 Всего: 17 |
база в какой кодировке?
|
|||
|
||||
| RETROme |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.9.2008 Репутация: нет Всего: нет |
gcc,
|
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
RETROme, на выходе сделайте кодировку как у БД
Если не скажут, то: у вас скорее всего БД в utf-8 кодировке, на выходе тоже utf-8 сделайте и проверьте - надеюсь угадаете. |
|||
|
||||
| RETROme |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.9.2008 Репутация: нет Всего: нет |
nitr, буду верить, что с Вашей помощью код будет удачно дописан, так как это единственная загвоздка, на которую мне пришлось наткнуться. Спасибо ;)
|
|||
|
||||
| ramus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 21.2.2008 Репутация: 1 Всего: 1 |
Правильно утаивают Скажу крамольную мысль: для клиента Оракла не важно в какой кодировке БД. Важно сказать серверу в какой кодировке клиент хочет получить данные. Сервер все автоматически сам сконвертирует для каждого клиента. Насколько я помню за этот параметр на клиенте отвечает переменная окружения NLS_LANG (ораклового) она должна быть установлена что то типа (зависит от LANG на клиенте, но обычно так) для клиента виндовс NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 для клиента линукс NLS_LANG=AMERICAN_AMERICA.CL8KOI8R Хотя в DBI может быть по другому надо сообщать серверу о кодировке... это для стандартного ораклового клиента ... Попробуйте поменять, может поможет... код должен быть что то типа такого
Если оракловый клиент на виндах, то обычно эти переменные окружения берутся по умолчанию из реестра. Однако я столкнулся с тем, что для 10 клиента в реестре этих данных по умолчанию нет и надо для приложения их устанавливать самостоятельно. Более внимательно прочитал Ваш пост: У Вас знаки вопросов вместо русских букв? К сожалению Вы не указали какой клиент Виндовс или UNIX. Если UNIX (Linux) то возможно это связано с тем, что не настроен LOCALE. Проверьте, должно быть что то типа такого $ locale LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" Это сообщение отредактировал(а) ramus - 27.9.2008, 22:38 |
|||
|
||||
| nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
RETROme, если что - то тут были посты как указывать эту кодировку в Оракл - поиском можно попытаться найти.
Добавлено через 5 минут и 12 секунд вот что дают результаты поиска:
и тут http://forum.vingrad.ru/forum/topic-229626...acle/index.html P.S.: а нужно ли это... ;) |
|||
|
||||
| RETROme |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 23.9.2008 Репутация: нет Всего: нет |
nitr, огромное спасибо за помощь!
ramus, мммм |
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |