Apache и PHP. Проблема с кодировками

Обсуждение технических вопросов по продуктам Novell

Apache и PHP. Проблема с кодировками

Сообщение Игорь Вершинин » 15 ноя 2002, 14:21

Никто не сталкивался с такой проблемой. Документы подготовлены как PHP-документы, часть информации там HTML, как и положено. Указана кодировка Windows. Если загрузить подобную страницу через "explorer index.php", то все, что касается шрифты, отображается нормально. Русские буквы отображаются как русские. Если тот же документ загрузить через Apache+PHP кодировка устанавливается в Western (ISO). Как это побороть?
Аватара пользователя
Игорь Вершинин
 
Сообщения: 387
Зарегистрирован: 05 июн 2002, 20:34
Откуда: Волгоград

Вопрос не в тему! Как вообще живуч php под нетварью ?

Сообщение max » 15 ноя 2002, 19:16

Интересует мнение стоит ли пробовать ?
Какие впечатления ?
Russin NetWare Team
http://netware.nwsoft.ru
max
 
Сообщения: 9
Зарегистрирован: 18 июн 2002, 11:55

Сообщение Михаил Григорьев » 15 ноя 2002, 19:21

В *.php писали так...

Код: Выделить всё
<?php
Header('Content-Type: text/html; charset=windows-1251');
?>


А в IE автоопределение кодировок не помогает ???

А в апаче всё правильно настроено... по типу примерно так...
<IfModule mod_mime.c>

AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddLanguage da .dk
AddLanguage nl .nl
AddLanguage en .en
AddLanguage et .ee
AddLanguage fr .fr
AddLanguage de .de
AddLanguage el .el
AddLanguage he .he
AddLanguage it .it
AddLanguage ja .ja
AddLanguage kr .kr
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-br .pt-br
AddLanguage ltz .lu
AddLanguage ca .ca
AddLanguage es .es
AddLanguage sv .se
AddLanguage cz .cz
AddLanguage ru .ru
AddLanguage tw .tw
AddLanguage zh-tw .tw

AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251
AddCharset CP866 .cp866
AddCharset ISO-8859-5 .iso-ru
AddCharset KOI8-R .koi8-r
AddCharset UCS-2 .ucs2
AddCharset UCS-4 .ucs4
AddCharset UTF-8 .utf8
AddCharset ISO-2022-JP .jis
AddCharset ISO-2022-KR .iso-kr
AddCharset ISO-8859-2 .iso-pl
AddCharset ISO-8859-8 .iso8859-8

<IfModule mod_negotiation.c>
LanguagePriority en ru da nl et fr de el it ja kr no pl pt pt-br ltz ca es sv tw
</IfModule>
</IfModule>

Можно в httpd.conf принудительно указать кодировку по умолчанию, примерно так:
AddDefaultCharset WINDOWS-1251
Но у меня при этом случались казусы разные...
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Andrey Karyagin » 15 ноя 2002, 19:22

Может быть это проблема конфигурации Apache, а не
PHP? Может быть я ошибаюсь?
Andrey Karyagin
 
Сообщения: 204
Зарегистрирован: 06 авг 2002, 15:56
Откуда: United Card Service

Сообщение Михаил Григорьев » 15 ноя 2002, 19:27

По поводу живучести PHP...

У меня всё устойчиво работеет.... Проблем нет.... Абендов тоже.... 8)
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Игорь Вершинин » 18 ноя 2002, 13:37

Вот что стоит у нас во всех PHP-документах:

<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">

При "локальной" загрузке страницы это срабатывает. Через сервер никак. На "чужом" (у провайдера) сервере Apache (на FreeBSD) все работает тоже нормально. У нас (Apache 1.3.27 + PHP 4.0.8 ) не хочет. Абендов не наблюдается.
При всем при этом HTML-документы с подобным же заголовком отображаются нормально. Если переименовать документ HTML в PHP (например, index.html в index.php ничего более не меняя), то кодировки "слетают".
В Explorer можно принудительно установить тип кодировки, тогда все отображается нормально. Но при переключении на другую страницу кодировка Explorer'а все равно слетает на Western (ISO), несмотря на выключенный Автоматический Выбор Кодировки.
Аватара пользователя
Игорь Вершинин
 
Сообщения: 387
Зарегистрирован: 05 июн 2002, 20:34
Откуда: Волгоград

Сообщение Михаил Григорьев » 18 ноя 2002, 17:49

Игорь допишите во все *.php такое... (В самом начале файла)

Код: Выделить всё
<?php
Header('Content-Type: text/html; charset=windows-1251');
?>


А <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> удалите...

Должно заработать...
Аватара пользователя
Михаил Григорьев
 
Сообщения: 1462
Зарегистрирован: 04 июн 2002, 12:22
Откуда: Челябинск

Сообщение Игорь Вершинин » 19 ноя 2002, 09:21

Попробовал. Не помогло... :( :( :(


Стоп!!! Помогло. Просто надо было еще в php.ini параметр engine перевести в On (обработка языковых расширений), а то по умолчанию PHP все выдает в ISO.

Спасибо. (пришлось собственное письмо редактировать. :wink: )
Аватара пользователя
Игорь Вершинин
 
Сообщения: 387
Зарегистрирован: 05 июн 2002, 20:34
Откуда: Волгоград


Вернуться в Novell

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 59