Проблемы с кодировкой после IMP/EXP операции

fantozzi
Дата: 24.02.2007 11:26:54
Господа!
Вот вроде банальная вещь.
Мне нужно перенести схему пользователя из одной ДБ в другую
Из 9i Windows в Linux 10G(КОДИРОВК ОДЕИХ БАЗ СОВПАДАЮТ CLwin1252..)

Я делаю експорт схемы из 9iDB в файл(ОС Windows).
Далее копирую этот файл через WINSCP в Linux RedHat EN4.
Создаю пользователя в 10G Linux, даю ему соответствующие гранты и т.д.
Далее делаю Экспорт схемы в базу 10G DB.

БАХ! А все таблички в данной схемы, процедуры, пакеты меняют свое содержимое вместо русского, присуствующего с них языка на знаки вопроса.
Пример "Запраты и кадры" -- export --> "??????? ? ?????"!

Помогите, если кто-нибудь из вас сталкивался с подобным.
softwarer
Дата: 24.02.2007 11:49:10
Установи NLS_LANG сессии экспорта в кодировку базы.
fantozzi
Дата: 25.02.2007 16:20:58
НЕ помогло

Установил в windows-переменные окружения --> NLS_LANG=AMERICAN_AMERICA.CL8BSWIN1252
Также установил в реестре такую же переменную для oracle_home, и там где она еще была.

Зделал Logoff, Logon,
Export
скопировал дамп на линуксовый сервер.
Также на сервере линукс включил поддержку русского языка:
export LANG=ru_RU.UTF8
далее зделал IMPORT.
Открыл первый попавшийся PACKADGE_BODY

Но увы, все по проежнему, вместо русских букв одни знаки вопроса '?????'
softwarer
Дата: 25.02.2007 16:27:52
fantozzi
скопировал дамп на линуксовый сервер.

Стоп. Перед тем, как делать это, стоит заглянуть в дамп и посмотреть, нормальные там символы или уже вопросики. Соответственно исправлять на том или ином этапе.

fantozzi
export LANG=ru_RU.UTF8

И зачем, собственно? http://download-uk.oracle.com/docs/cd/B19306_01/server.102/b14215/exp_imp.htm#sthref2627
fantozzi
Дата: 25.02.2007 19:12:23
После экспорта и открытия файла дампа в Windows все русские буквы видны нормально, далее,
копирование и импорт. У меня есть подозрение на то, что данные искажаются на момент, когда они открываются в Linux для импорта, а там уже некорректно считываются.

Проблема в том, что я не пойму, открываю файл дампа в Midnight Commander, там куча кода, но не символов вопроса, не русских букв я там не вижу!! Однако, когда выпоняется импорт, четко видны знаки вопросов! Изза них и ошибки лезут.

За ссылку спасибо!
Но документацию эту читал, еще до форума. Там не описаны методы конвертации, по мере их отсутсвия в утилитах импрота/экспорта.
Есть только предупреждение о том, что не нужно переносить обьекты из баз на однобайтовых кодировках на базы с многобайтовыми. Типа тогда данные будут искажены.
Стив
Дата: 25.02.2007 19:37:53
попробуйте на Линуксе выставить такую же кодировку в NLS_LANG, как в виндовсе, и сделать импорт. Или импортите с виндовой машины по сетке, указав алиас в строке подключения.
softwarer
Дата: 25.02.2007 22:48:11
fantozzi
Проблема в том, что я не пойму, открываю файл дампа в Midnight Commander, там куча кода, но не символов вопроса, не русских букв я там не вижу!!

Подозреваю, чтобы увидеть русские буквы, надо будет настроить 1252. Я могу ошибаться, но всегда полагал, что это вовсе не то же самое, что вышеупомянутый UTF8.

fantozzi
За ссылку спасибо!
Но документацию эту читал, еще до форума. Там не описаны методы конвертации, по мере их отсутсвия в утилитах импрота/экспорта.

Зато там описана рекомендация сделать совсем не то, что сделал ты этим экспортом. Подумай сам: ты заставляешь утилиты сделать две конвертации там, где не нужно ни одной. Можно разбираться, где именно при конвертациях теряется текст, но имхо проще сделать так, чтобы этих конвертаций не было вообще.
gonzaomsk
Дата: 27.02.2007 14:17:57
Аналогичная проблема. Причем exp/imp делается на linux. Причем в таблицах все в порядке, а в процедурах сплошные ???