Есть папка /var/www/html/my_site. Там лежит никсовская база. Она в цп1251. Сервер по умоляанию работает на кои8. Виндовые клиенты не могут выставить кодировку *в принципе* в своих браузерах. Даже если принудительно выставляют windows1251. Я решил настроить отображение, используя .htaccess.
Итак:
В httpd.conf:
AccessFileName .htaccess<Directory "/var/www/html/my_site">
AllowOverride All
</Directory>
Помещаю в /var/www/html/my_site .htaccess со след содержимым:
AddDefaultCharset windows-1251
Но все равно отображение не работает корректно. Что не так?
Привет,>AddDefaultCharset windows-1251
Это рботает только на Apache 2 и, кажется, только в случае, если документ сам не указывает charset.
WWell,
Самый надежный способ, юзать в HTML коде
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=cp1251">
>Привет,
>
>>AddDefaultCharset windows-1251
>
>Это рботает только на Apache 2 и, кажется, только в случае, если
>документ сам не указывает charset.
>
>WWell,неправда ваша
AllowOvveride в apache как настроен?
Должно быть как минимум FileInfo разрешено
>>Привет,
>>
>>>AddDefaultCharset windows-1251
>>
>>Это рботает только на Apache 2 и, кажется, только в случае, если
>>документ сам не указывает charset.
>>
>>WWell,
>
>неправда ваша
>
>AllowOvveride в apache как настроен?
>Должно быть как минимум FileInfo разрешеноAllowOvveride All ставил и все равно не пашет...
>>>Привет,
>>>
>>>>AddDefaultCharset windows-1251
>>>
>>>Это рботает только на Apache 2 и, кажется, только в случае, если
>>>документ сам не указывает charset.
>>>
>>>WWell,
>>
>>неправда ваша
>>
>>AllowOvveride в apache как настроен?
>>Должно быть как минимум FileInfo разрешено
>
>AllowOvveride All ставил и все равно не пашет...
хм
версия апача?
в логах что-нибуть есть?
права на .htaccess нормальные?
что за база (perl, php)? может она сама хидер с кодировкой кидает?
>>>>Привет,
>>>>
>>>>>AddDefaultCharset windows-1251
>>>>
>>>>Это рботает только на Apache 2 и, кажется, только в случае, если
>>>>документ сам не указывает charset.
>>>>
>>>>WWell,
>>>
>>>неправда ваша
>>>
>>>AllowOvveride в apache как настроен?
>>>Должно быть как минимум FileInfo разрешено
>>
>>AllowOvveride All ставил и все равно не пашет...>
>
>хм
>версия апача?
>в логах что-нибуть есть?
>права на .htaccess нормальные?
>что за база (perl, php)? может она сама хидер с кодировкой кидает?
>Версия апача 1.3.31
В логах ничего
Права на .htaccess менял вплоть до 777
База никс с www.nix.ru
>>>>>Привет,
>>>>>
>>>>>>AddDefaultCharset windows-1251
>>>>>
>>>>>Это рботает только на Apache 2 и, кажется, только в случае, если
>>>>>документ сам не указывает charset.
>>>>>
>>>>>WWell,
>>>>
>>>>неправда ваша
>>>>
>>>>AllowOvveride в apache как настроен?
>>>>Должно быть как минимум FileInfo разрешено
>>>
>>>AllowOvveride All ставил и все равно не пашет...
>
>>
>>
>>хм
>>версия апача?
>>в логах что-нибуть есть?
>>права на .htaccess нормальные?
>>что за база (perl, php)? может она сама хидер с кодировкой кидает?
>>
>
>Версия апача 1.3.31
>В логах ничего
>Права на .htaccess менял вплоть до 777
>База никс с www.nix.ruну....даже не знаю...
что есть такое nix.ru знаю, но искать и тянуть их "овоще"базу нет никакого желанияпроверь чтоб после твоего
AllowOverride All
никаких AllowOverride больше не было
>проверь чтоб после твоего
>AllowOverride All
>никаких AllowOverride больше не было
Так у меня AllowOverride All стоит внутри <Directory>
>
>>проверь чтоб после твоего
>>AllowOverride All
>>никаких AllowOverride больше не было
>
>
>Так у меня AllowOverride All стоит внутри <Directory>
Телнетом погляди какие заголовки возвращаются.
>>
>>>проверь чтоб после твоего
>>>AllowOverride All
>>>никаких AllowOverride больше не было
>>
>>
>>Так у меня AllowOverride All стоит внутри <Directory>
>
>
>Телнетом погляди какие заголовки возвращаются.Блин, если честно, я не в курсе как это сделать... telnet-ом как-то не пользовался никогда, не приходилось...
>
>>проверь чтоб после твоего
>>AllowOverride All
>>никаких AllowOverride больше не было
>
>
>Так у меня AllowOverride All стоит внутри <Directory>не возражаю
но если после
<Directory /dd/ff/gg>
AllowOverride All
</Directory>идет
<Directory />
AllowOverride None
</Directory>то видимо произойдет переопределение
...не уверен, но возможно
в .htaccess нужно прописать строчку:
php_flag default_charset windows-1251
>в .htaccess нужно прописать строчку:
>php_flag default_charset windows-1251СПАСИБО ! мне помогло!
> в .htaccess нужно прописать строчку:
> php_flag default_charset windows-1251или в /etc/php5/apache2/php.ini default_charset=cp-1251
> в .htaccess нужно прописать строчку:
> php_flag default_charset windows-1251И мне тоже! Спасибо автору за этот пост!
Перед этим убил часа 4 на поиски решения - безрезультатно.
Чтобы остальным было проще найти этот ответ, накидаю несколько ключевых фраз для поисковой индексации:
Знаки вопросов вместо русских букв. Слетает кодировка при переносе на другой хостинг VPS VDS. Не реагирует, не работает AddDefaultCharset. Как добиться вывода в кодировке windows-1251. Shop-Script и знаки вопроса при импорте базы MySQL. Кодировка Shop-Script. Как задать кодировку в htaccess. Кодировка 1251 не ставится. Вопросики на сайте. При переносе сайта сбилась кодировка.