Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Oracle > Конвертирование кодировки Oracle


Автор: NetLord 10.6.2008, 15:48
Люди столкнулся с такой бодягой.

Использую Oracle 9.2 
Есть дамп созданный в кодировке WE8MSWIN1252.

При импортировании его в кодировке WE8MSWIN1252 все ок кириллица отображается нормально. 
( smile ХМ для меня это странно кодировка неродная но тянет).
Когда же импортирую в CL8MSWIN1251 получаю кракозябры.

Пробовал экспортировать (импортированный в WE8MSWIN1252) дамп в CL8MSWIN1251 а потом импортировать используя обе кодировки-то же самое.

Посоветуйте что нибудь дельное как перевести в CL8MSWIN1251, я тут постепенно с ума схожу и начинаю ненавидеть Oracle.  smile 

Автор: avvo 10.6.2008, 21:40
Если хоть при каком-то раскладе кодировок видны русские буквы, то значит эти буквы были вписаны при этом раскладе.
Поэтому, если клиент работал в 1252 и напихал в базу русских букав, то они там есть, только всякие upper-lower не работают. А отображаются они нормально, потому-что шрифт 1251.

Теперь клиентом в кодировке 1252 сделан дамп. В дампе, если его просмотреть со шрифтом 1251, русские буквы видно.

Но вот если его начать импортировать в кодировке отличной от кодировки экспорта, умняшка оракл попытается его сконвертировать, ниразу никого не спросив. Результат конвертирования русских букв из кодировки 1252 (в которой их нет) в кодировку 1251 - весьма плачевный.

Поэтому надо перед импортом этого файла выставить кодировку клиента, с которого делается импорт, в 1252.
Тогда при импорте оракл ничего конвертировать не будет (и не надо).
после импорта, поменять кодировку клиента на 1251 и, если это винда, перезагрузиться.
и все.
При этом не важно в какой кодировке работает база. Лучше конешно 1251, тогда всякие хранимые и встроенная jvm будут правильно сортировать и upper-lower.

Автор: NetLord 11.6.2008, 09:06
avvo,  Спасибо решил проблему.
Просто альтернул базу(сменил NLS_LANG), изменил также в рееестре.

Я так уже пробовал, только не перезагружал Windows.

Вся проблема оказалась в перезагрузке.

 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)