кодировка, php&Oracle

scandal

Новичок
кодировка, php&Oracle

Здравствуйте!
Нашел в Инете, что настройки кодировки Оракла можно просмотреть запросом
select * from v$NLS_PARAMETERS;
Вот результат
PHP:
NLS_LANGUAGE	RUSSIAN
NLS_TERRITORY	CIS
NLS_CURRENCY	р.
NLS_ISO_CURRENCY	CIS
NLS_NUMERIC_CHARACTERS	, 
NLS_CALENDAR	GREGORIAN
NLS_DATE_FORMAT	DD.MM.RR
NLS_DATE_LANGUAGE	RUSSIAN
NLS_CHARACTERSET	CL8MSWIN1251
NLS_SORT	RUSSIAN
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_NCHAR_CHARACTERSET	AL16UTF16
NLS_COMP	BINARY
NLS_LENGTH_SEMANTICS	BYTE
NLS_NCHAR_CONV_EXCP	FALSE
С числами и английским текстом проблем не наблюдается. НО!
Никак не получается вывести то, что записано в таблицу русскими буквами.
Пробовал такие варианты:
PHP:
$conn = oci_connect('***', '***', "***","CL8MSWIN1251");
echo '<cell>'.($row[$i]?htmlentities((string)$row[$i]):'&amp;nbsp;').'</cell>';
и
echo '<cell>'.($row[$i]?htmlentities(iconv('utf-8','windows-1251', $row[$i])):'&amp;nbsp;').'</cell>';
Думаю, что-то не так со следующим параметром:
PHP:
NLS_NCHAR_CHARACTERSET	AL16UTF16
Нельзя тут как-то поставить ASCII или UTF8? Как?

Заранее спасибо!
 

Falc

Новичок
Сделай:
Код:
select * from v$NLS_PARAMETERS;
в тоаде и php и сравни результат.
 

scandal

Новичок
Странно. В PHP выдает:
ORA-00942: table or view does not exist
А в Тоаде выдает:
NLS_LANGUAGE RUSSIAN
NLS_TERRITORY CIS
NLS_CURRENCY р.
NLS_ISO_CURRENCY CIS
NLS_NUMERIC_CHARACTERS ,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD.MM.RR
NLS_DATE_LANGUAGE RUSSIAN
NLS_CHARACTERSET CL8MSWIN1251
NLS_SORT RUSSIAN
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_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE

Почему?
 

Falc

Новичок
Прав не хватает.
Нужно под тем же пользователем.
 

scandal

Новичок
Но я выполняю все под одним и тем же логином и паролем.
Я заметил еще одну вещь. Когда в командной строке набираю команду
sqlplus
то выводится
Error 6 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
Может причини этих ошибок одна и та же?
 

Falc

Новичок
Не думаю, sqlplus ругаеться на ORACLE_HOME, который надо установить.
А в PHP скорее всего проблема из-за неверного NLS_LANG.
 
Сверху