Периодически слетает кодировка при выборке...

Yury

Новичок
Периодически слетает кодировка при выборке...

Здраствуйте!
Столкнулся с такой проблемой: Скриптом делаю запрос в базу и возвращенные данные вставляю на сайт. Периодически данные возвращаются в непонятной кодировке. Если пару раз нажать рефреш все становится ок.
Система:
PHP 5.0.4
Apache 2.0.54
Oracle 9i
Можно ли как то бороться?
Есть у меня подозрение, что это как-то связано с тем, как я данные в базу вставляю. Когда вставлял из формы напрямую данные в базу попадали в виде крякозябров, поэтому перед вставкой конвертирую их с помощью
$string=convert_cyr_string ( $string, 'w', 'd');
Может где нибудь-здесь собака порылась?
Обратная конвертация перед вставкой на сайт результата не дает.
Чуть не забыл,
NLS_LANG AMERICAN_AMERICA.RU8PC866
LANG en_US
 

trustno1

Новичок
Re: Периодически слетает кодировка при выборке...

Автор оригинала: Yury
Здраствуйте!
Столкнулся с такой проблемой: Скриптом делаю запрос в базу и возвращенные данные вставляю на сайт. Периодически данные возвращаются в непонятной кодировке. Если пару раз нажать рефреш все становится ок.
Система:
PHP 5.0.4
Apache 2.0.54
Oracle 9i
Можно ли как то бороться?
Есть у меня подозрение, что это как-то связано с тем, как я данные в базу вставляю. Когда вставлял из формы напрямую данные в базу попадали в виде крякозябров, поэтому перед вставкой конвертирую их с помощью
$string=convert_cyr_string ( $string, 'w', 'd');
Может где нибудь-здесь собака порылась?
Обратная конвертация перед вставкой на сайт результата не дает.
Чуть не забыл,
NLS_LANG AMERICAN_AMERICA.RU8PC866
LANG en_US
ОС я так понимаю win ?
А настройках Apache, php.ini (default_charset) настройки смотрели? Наверняка, оракл возвращает одну кодировку, а в ответных хидерах апача кодировка совсем другая... Преобразуйте всё к win-1251.
 

Yury

Новичок
апач стоит на ред хате
и оракл стоит на отдельном сервере
я даже не знаю что делать
я впервые работал с ораклом на php ( он у нас чесно купленый и начальство хочет все делать на нем) а я до этого работал толькл с mysql
обыскал все форумы которые знаю по теме php и mysql но похожей проблемы не нашел
 

trustno1

Новичок
Апач-то какую кодировку в хидерах выдаёт? всё время разную?
И какая кодировка установлена на клиенте, автодетект или что-то еще?
 

robocomp

Новичок
Re: Периодически слетает кодировка при выборке...

Автор оригинала: Yury
Здраствуйте!
Столкнулся с такой проблемой: Скриптом делаю запрос в базу и возвращенные данные вставляю на сайт. Периодически данные возвращаются в непонятной кодировке. Если пару раз нажать рефреш все становится ок.
А это, как выглядит непонятная кодировка?

У нас такое было -- были вопросительные знаки вместо русских символов. Если симптомы те же -- расскажу как побороли -)
 

Yury

Новичок
Так самое интересное, что вид меняется - то черточки-кружочки, то абракадабра русскими буквами. Вопросительных знаков по-моему не было:)
Когда тестировал на своем компе под Win с установленным апачем и виндовым клиентом оракла - все было ок. Как только перенес на сервер - беда.
Сейчас уговорил шефа перенести все на Mysql, но все равно интересно знать чем такой глюк мог быть вызван
 

robocomp

Новичок
1. можно попробовать собрать апач с префорком для юникс.
это нам помогло.
проблема была втом, что пропадала переменная NLS_LANG в апаче.
это баг пхп, который пхп чинить не станет, так как баг невозможно воспроизвести.
2. правильный способ я не помню -(
 
Сверху