Проблемы с кодировкой

maiorshin
Дата: 11.12.2007 19:50:00
Перегружаю данные из MySQL (выгрузка через mysqldump) в Oracle (загрузка с помощью sqlloader).
MySQL крутится на Debian. Oracle установлен на Oracle Enterprise Linux.

Из MySQL данные выгружаются в кодировке cp1251.
Oracle поставлен со следующими параметрами:
NLS_CHARACTERSET CL8MSWIN1251
NLS_NCHAR_CHARACTERSET UTF8

Стандартная проблема: после загрузки - вопросы вместо русских букв. И по всей видимости не на клиенте, а действительно в базе.

Через терминал (putty) при установке кодировки win1251 из командной строки (tail ...) видно, что в загрузочном файле действительно русские буквы. Однако если пытаюсь смотреть через mc то вместо русских символов отображаются точки. Может быть это связано с сисфонтом линукса?? Хотя это сомнительно...

Кто-нибудь сталкивался с такой ситуацией?
maiorshin
Дата: 11.12.2007 20:19:39
То что это не проблемы клиента, показывает следующий запрос и его результаты.

select "txt", dump("txt") from table where "id"<100;
Шпрота из банки
Дата: 11.12.2007 20:22:22
Там глянь хелп по mc, можно указать кодировку виндовую ему. А вообще попробуй поправить переменную окружения LANG, может поможет.
Elic
Дата: 11.12.2007 20:28:10
maiorshin
То что это не проблемы клиента, показывает следующий запрос и его результаты.
Результаты (если бы они были ) показали бы проблемы в настройке клиента
maiorshin
Дата: 11.12.2007 20:30:37
Не получилось сделать аттачмент, поэтому привожу результаты в таком виде:

txt DUMP("txt")

???????????? ???????????? ??????????? nod32 Typ=1 Len=43:63,63,63,63,63,63,63,63,63,63,63,63,32,63,63,63,63,63,63,63,63,63,63,63,63,32,63,63,63,63,63,63,63,63,63,63,63,32,110,111,100,51,50
????????? nod32 ??? ??????????? Typ=1 Len=31: 63,63,63,63,63,63,63,63,63,32,110,111,100,51,50,32,63,63,63,32,63,63,63,63,63,63,63,63,63,63,63
???????????? nod 32 Typ=1 Len=19: 63,63,63,63,63,63,63,63,63,63,63,63,32,110,111,100,32,51,50
???????????? nod32 Typ=1 Len=18: 63,63,63,63,63,63,63,63,63,63,63,63,32,110,111,100,51,50
Шпрота
Дата: 11.12.2007 20:34:31
Elic
maiorshin
То что это не проблемы клиента, показывает следующий запрос и его результаты.
Результаты (если бы они были ) показали бы проблемы в настройке клиента

Есть версия, что там там действительно русские буквы :D
автор

Через терминал (putty) при установке кодировки win1251 из командной строки (tail ...) видно, что в загрузочном файле действительно русские буквы. Однако если пытаюсь смотреть через mc то вместо русских символов отображаются точки. Может быть это связано с сисфонтом линукса?? Хотя это сомнительно...
maiorshin
Дата: 11.12.2007 20:36:19
Замечу, что когда я делаю инсерт с клиента (SQL Developer), все вставляется и затем выбирается нормально, без всяких вопросов.
Консервы
Дата: 11.12.2007 20:41:07
maiorshin
Замечу, что когда я делаю инсерт с клиента (SQL Developer), все вставляется и затем выбирается нормально, без всяких вопросов.

ctrl+T в mc нажать, видно, не судьба?
Elic
Дата: 11.12.2007 20:50:54
maiorshin
???????????? nod32  Typ=1 Len=18: 63,63,63,63,63,63,63,63,63,63,63,63,32,110,111,100,51,50
Данные безвозвратно потеряны из-за несовместимости кодировок клиента и сервера. Серверная показана. Остаётся клиентская (sqlloader).
maiorshin
Дата: 11.12.2007 20:51:57
Ctrl+T выдает следующее сообщение:
To use this feature select your codepage in Setup / Display bits dialog.
Поскажите, где это выбирается.

И в принципе суть то не в том, чтобы посмотреть содержимое через mc, а в том как правильно загрузить данные в Oracle..