Как отображать русские буквы на Solaris?

yallow
Дата: 05.03.2007 11:11:42
Ох и намучался я с кодировками.

Хочу с самого начала сейчас всё правильно настроить. А самое начало это запуск SQLplus -

bash-2.05$ locale
LANG=ru_RU.ANSI1251
LC_CTYPE="ru_RU.ANSI1251"
LC_NUMERIC="ru_RU.ANSI1251"
LC_TIME="ru_RU.ANSI1251"
LC_COLLATE="ru_RU.ANSI1251"
LC_MONETARY="ru_RU.ANSI1251"
LC_MESSAGES="ru_RU.ANSI1251"
LC_ALL=ru_RU.ANSI1251
bash-2.05$ echo $NLS_LANG
RUSSIAN_CIS.CL8MSWIN1251
bash-2.05$ sqlplus

SQL*Plus: Release 9.2.0.3.0 - Production on Ïíä Ìàð 5 11:09:09 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Enter user-name:


Что не так?
spas2001
Дата: 05.03.2007 11:15:06
locale самой консоли
yallow
Дата: 05.03.2007 11:15:51
Ок, мб.

А как правильно?
Бабичев Сергей
Дата: 05.03.2007 11:21:50
yallow
Ок, мб.

А как правильно?
Тынц - может чем поможет...
spas2001
Дата: 05.03.2007 11:25:52
Проще сделать вывод на аглийском, оставив кодовую страницу
Или сообщения нужны именно на русском?
Dimka9
Дата: 05.03.2007 11:28:12
yallow
А как правильно?

например если на серв ходишь через putty то в настройках сессии выставь кодовую страницу 1251
Dimka9
Дата: 05.03.2007 11:30:19
spas2001
Проще сделать вывод на аглийском, оставив кодовую страницу
Или сообщения нужны именно на русском?

можно и так, но при выборке русских данных мы получим крокозябру
padavan
Дата: 05.03.2007 11:47:14
Dimka9
spas2001
Проще сделать вывод на аглийском, оставив кодовую страницу
Или сообщения нужны именно на русском?

можно и так, но при выборке русских данных мы получим крокозябру


ну я бы не был бы столь котегоричен:

oracle@oracle9i:/ora> env | grep LANG
NLS_LANG=AMERICAN_AMERICA.UTF8
LANG=ru_RU.UTF-8

oracle@oracle9i:/ora> sqlplus /nolog

SQL*Plus: Release 9.2.0.7.0 - Production on Mon Mar 5 11:42:29 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> connect / as sysdba
Connected.
SQL> column PARAMETER format a50
SQL> column VALUE format a50
SQL> select * from nls_database_parameters;

PARAMETER VALUE
-------------------------------------------------- --------------------------------------------------
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_LANGUAGE AMERICAN
NLS_TERRITORY CIS
NLS_CURRENCY ?.
NLS_ISO_CURRENCY CIS
NLS_NUMERIC_CHARACTERS .
NLS_CHARACTERSET CL8ISO8859P5
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD.MM.RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY

PARAMETER VALUE
-------------------------------------------------- --------------------------------------------------
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD.MM.RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD.MM.RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY ?.
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_RDBMS_VERSION 9.2.0.7.0

20 rows selected.

SQL>
SQL> select 'привет' from dual;

'ПРИВЕТ'
------------------
привет

SQL>
yallow
Дата: 05.03.2007 11:52:44
хожу через Xmanager

Сейчас попробую предложение padavan'a.

Не знаю, правда, повлияет ли то, что у меня NLS_CHARACTERSET - AL32UTF8

Кстати, я всегда переменную окружения в Russian_CIS.AL32UTF8 ставил, а надо оказывается просто
UTF8?
Dimka9
Дата: 05.03.2007 11:58:22
padavan
ну я бы не был бы столь котегоричен:

oracle@oracle9i:/ora> env | grep LANG
NLS_LANG=AMERICAN_AMERICA.UTF8
LANG=ru_RU.UTF-8

oracle@oracle9i:/ora> sqlplus /nolog

я имел ввиду соответствие кодировки в сессии и той что в telnet|ssh

если бы она не соответствовала вы бы "привет" вряд ли набрали (набрали, но не отобразили)