powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NLS_LANG и ORA-29275
7 сообщений из 32, страница 2 из 2
NLS_LANG и ORA-29275
    #39350093
БораТора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо аксакалы....
Установил в SecureCRT кодировку KOI8-R , открыл новую сессию, дальше в SHELL :
Код: plsql
1.
2.
> export LC_ALL=ru_RU.koi8r
> export NLS_LANG=AMERICAN_AMERICA.CL8KOI8R



Вставил строку из sqlplus(в нём и набрал русский для поля), прочитал эту строку в винде с 1251 в PLSQLDeveloper.
Всё ОК.

Теперь мне надо тоже самое, для 1251, так как файлы будут в такой кодировке.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
> locale -a |grep 1251
be_BY.cp1251
bg_BG.cp1251


> locale -a |grep -i ru
cv_RU
cv_RU.utf8
ru_RU
ru_RU.iso88595
ru_RU.koi8r
ru_RU.utf8
russian
ru_UA
ru_UA.koi8u
ru_UA.utf8
tt_RU
tt_RU@iqtelif
tt_RU.utf8
tt_RU.utf8@iqtelif
...
Рейтинг: 0 / 0
NLS_LANG и ORA-29275
    #39350094
БораТора
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicБораОраС этого сервера будет идти DML из SQLPLUS в файлах с винды, в 1251.nls_lang должен соответствовать содержимому файлов.
Вот о чем и речь.
локаль ведь тоже должна.... иначе будут кракозябры....
...
Рейтинг: 0 / 0
NLS_LANG и ORA-29275
    #39350233
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БораТораElicпропущено...
nls_lang должен соответствовать содержимому файлов.Вот о чем и речь.
локаль ведь тоже должна.... иначе будут кракозябры....Чудак, неужто кто-то будет таращится в моник, когда cron-ом сработает загрузка?! И за это кому-то платят зарплату ?!!
...
Рейтинг: 0 / 0
NLS_LANG и ORA-29275
    #39350241
БораОра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicБораТорапропущено...
Вот о чем и речь.
локаль ведь тоже должна.... иначе будут кракозябры....Чудак, неужто кто-то будет таращится в моник, когда cron-ом сработает загрузка?! И за это кому-то платят зарплату ?!!

Действительно, достаточно поменять NLS_LANG - кодировок.
Если на юникс машине с locale KOI8 или UTF-8 поставить NLS_LANG AMERICAN_AMERICA.CL8MSWIN1251,
а файл в 1251 - да, при просмотре будут кракозябры, но в базу пойдет все также как с вин машины. SELECT с винды даст русские символы.
Т.е. тут порядок. И мне этого в принципе достаточно.
1251 по умолчанию на RHEL сейчас нет, что-то надо до-устанавливать....
...
Рейтинг: 0 / 0
NLS_LANG и ORA-29275
    #39350275
БораОра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мне не очень понятно как какое-то время sql-файлы и exp-дампы грузились с AMERICAN_AMERICA.AL32UTF8 (на сервере базы и на сервере загрузки-выгрузки был одинаковый NLS_LANG - .AL32UTF8).

Если exp-дампами можно считать, что при одинаковом NLS_LANG просто не будет никаких
перекодировок, то как работали *sql файлы c 1251?
Их совершенно точно грузили с линукса с AMERICAN_AMERICA.AL32UTF8 и всё работало.
В винде при чтении был русский.
Сейчас проверил - не прокатывает.
...
Рейтинг: 0 / 0
NLS_LANG и ORA-29275
    #39350281
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
БораОраможно считатьТебе, ламеру, не рекомендуется что-либо считать.
...
Рейтинг: 0 / 0
NLS_LANG и ORA-29275
    #39350504
БораОра
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ElicБораОраможно считатьТебе, ламеру, не рекомендуется что-либо считать.
Согласен, прошу сильно не пинать, постараюсь точнее изложить.

Считаю, Точнее прошу объяснить ситуацию, если на клиенте NLC_LANG совпадает с NLS_CHARACTERSET в базе.
Например, если база с "европейским" NLS_CHARACTERSET и на клиенте такой же NLS_LANG,
то в винде при вставке/чтении русских символов(1251) проблем не будет(будут другие проблемки). Хотя NLS_LANG не соответствует русскому.
Т.е. нет "перемапливания" символов при передаче между клиентом и базой.
С этим согласны? (нет под рукой базы с таким NLS_CHARACTERSET проверить)


C UTF это как-то по другому работает....
Если ставлю и на винде такой же NLS_LANG = .AL32UTF8 как в базе(или 1251 ), то при чтении получаю :
ORA-29275: partial multibyte character

В линуксе тоже как-то не так работает, - вижу русский при NLS_LANG =.AL32UTF8 и если НЕ установлен LC_ALL=
и в терминале стоит виндовая кодировка.
С LC_ALL=ru_RU.UTF-8 - идут вопросы.... возможно это проблемы кодировки терминала.


--nls_lang должен соответствовать содержимому файлов.

Да, спасибо....
В целом при любой локали+ .CL8MSWIN1251(nls_lang), загруженный файл с 1251 русским текстом(Insert, dump), потом нормально читается в винде c .CL8MSWIN1251.
...
Рейтинг: 0 / 0
7 сообщений из 32, страница 2 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / NLS_LANG и ORA-29275
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]