|
|
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
Имеем: Oracle 8.0.6, рабочая БД в кодировке CL8ISO8859P5, UnixWare. Требуется: то же самое, но тестовая БД в кодировке CL8MSWIN1251. Делал так: 1. Экспорт. 2. Создание базы в новой кодировке. 3. Импорт. Не получилось. Потом делал так: 1. На рабочем сервере: NLS_LANG=....CL8MSWIN1251 2. Экспорт на рабочем сервере. Дамп, по логике, должен быть в кодировке MSWIN -- верно? 3. NLS_LANG на рабочем сервере вернул в исходное значение. 4. На тестовом сервере: NLS_LANG=....CL8MSWIN1251 5. Создание базы. 6. Импорт. Опять не получилось. Что я не так понимаю, и как исправить? Разработка чужая, и совет с функцией CONVERT не годится. Краем уха мне говорили, что надо менять байт в дампе -- какие тогда NLS_LANG надо ставить перед экспортом и перед импортом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 07:05:35 |
|
||
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
Экспорт нужно делать в той кодировке клиента, в которой у тебя база, это понятно? При импорте уже не обязательно, что-бы в сессии была кодировка как в исходной БД, главное что бы указанная кодировка была родственной для исходной БД. Это также означает, что кодировка в новой базе должна быть в такой же родственной кодировке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 09:03:07 |
|
||
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
>Экспорт нужно делать в той кодировке клиента, в которой у тебя база Имеется в виду исходная база? Т.е. первый вариант моих действий был правильный? >При импорте уже не обязательно, что-бы в сессии была кодировка как в исходной БД Но она должна быть такой же, как в новой базе? Или это тоже необязательно -- но тогда непонятно, почему не прошел первый вариант. (NLS_LANG была настроена на ISO) "Родственные кодировки" -- это, как я понял, которые позволяют конвертацию символов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 09:18:42 |
|
||
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
Последовательность действий 1) export NLS_LANG=AMERICAN_AMERICA.CL8ISO8859P5 exp 2) export NLS_LANG=AMERICAN_AMERICA.CL8MSWIN1251 CREATE DATABASE..... CHARACTER SET CL8MSWIN1251; imp ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2003, 09:25:40 |
|
||
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
Опять не получилось. На месте русских букв такие же кракозябры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2003, 15:05:44 |
|
||
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
1. Ты уверен, что у тебя charset базы и charset собственно данных совпадает с тем, что ты привёл в первом сообщении? 2. Огласи результат работы запроса типа Код: plaintext ... на обоих базах (оригинальной, и что получилось). 3. Шапки экспорта и импорта "в студию" (те строки, где говорится о том, какой charset используется). 4. Может быть собственно с кодировокой всё в порядке, а у тебя проблема со шрифтами? 5. Да, и, собственно, крякозбры как выглядят? Рассказывать, чем на вид отличается Win1251 в ISO и Win1251 в Win1252? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 01:15:10 |
|
||
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
2. Ставим NLS_LANG=...CL8MSWIN1251, запускаем TOAD, смотрим поле NAME и видим: Рабочая база: NAME: Фюя. ђхъѓљшщ ёїхђ DUMP(NAME): 'Typ=1 Len=17: 196,238,239,46,32,242,229,234,243,249,232,233,32,241,247,229,242' Преобразованная база: NAME: 'Фюя. ђхъѓљшщ ёїхђ' DUMP(NAME): 'Typ=1 Len=17: 212,254,255,46,32,144,245,250,131,154,248,249,32,184,191,245,144' А теперь поставим NLS_LANG=...CL8ISO8859P5: Рабочая база: NAME: 'Доп. текущий счет' DUMP(NAME): 'Typ=1 Len=17: Typ=1 Len=17: 196,238,239,46,32,242,229,234,243,249,232,233,32,241,247,229,242' Преобразованная база: NAME: 'Доп. текущий счет' DUMP(NAME): 'Typ=1 Len=17: 212,254,255,46,32,144,245,250,131,154,248,249,32,184,191,245,144' 3. exp: Connected to: Oracle8 Enterprise Edition Release 8.0.6.2.0 - Production PL/SQL Release 8.0.6.2.0 - Production Export done in CL8ISO8859P5 character set and CL8ISO8859P5 NCHAR character set imp: Connected to: Oracle8 Enterprise Edition Release 8.0.6.3.0 - Production PL/SQL Release 8.0.6.3.0 - Production Export file created by EXPORT:V08.00.06 via conventional path ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2003, 09:19:41 |
|
||
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
Судя по результатам DUMP, а также после сравнения их с вот этим: http://www.free.net/Info/em-01/iso8859-5.htm становится ясно, что собственно данные у вас в "живой" базе -- в CL8MSWIN1251. Т.е. остаются два варианта: оставить всё как есть, и манипуляции с дампом (байт отвечающий за charset). Последний вариант не так давно здесь обсуждался step-by-step... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2003, 00:43:12 |
|
||
|
Сменить кодировку базы (опять не получилось)
|
|||
|---|---|---|---|
|
#18+
Пока искал картинку с ISO нашёл http://sci.kz/~sairan/kazcode/ . Оказывается Латвия с её семью (старый DOS, новый DOS (775), старый Windows, "+", "z", ISO8859P4 и Win1257) кодировками ещё не предел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2003, 01:00:34 |
|
||
|
|

start [/forum/topic.php?fid=52&fpage=2766&tid=1990068]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
266ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
| others: | 265ms |
| total: | 620ms |

| 0 / 0 |
