@KrylCW

Как перебить средствами Apache 2 кодировку выставляемую в HTTP-заголовке выполняемым скриптом?

Есть скрипт, который в HTTP заголовках задает свой charset. Для наших нужд данный charset не подходит, скрипт задает UTF-8, контент лежит в кодировке Windows-1251, перекодировать контент не могу - отвалятся другие сервисы. Скрипт поддерживается третьей стороной (opensource). Во избежание появления проблем при дальнейшем обновлении, хочется оставить скрипт как есть и поменять заголовок средствами Apache 2. Возможно ли?

Пробовал AddDefaultCharset, но скрипт этот параметр перебивает.
  • Вопрос задан
  • 574 просмотра
Решения вопроса 1
27cm
@27cm
TODO: Написать статус
Если вы просто заголовок подмените, это вам ничего не даст. Контент-то так и останется в UTF-8. Выход один - перекодировать ответ из UTF-8 в Windows-1251, а дальше уже использовать для своих нужд.

В том то и проблема, что генерируемый контент имеет кодировку Windows-1251, а в скрипте захардкодена передача "неправильного" заголовка с кодировкой UTF-8.

Тогда есть такие варианты:
1. Для нужных файлов в конфиге Apache попробовать задать:
Header set Content-Type "text/html; charset=Windows-1251"

2. Перекодировать "на лету" содержимое в UTF-8 с помощью:
httpd.apache.org/docs/2.2/mod/mod_charset_lite.html
3. Найти и исправить косяк в скрипте, потому что такого быть не должно, что в заголовке кодировка одна, а контент - в другой.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@azazelpw
Linux SA
Как вы себе это представляете? )
Апач веб сервер который отдает код браузеру по порту.
Ваш код исполняется на компьютере пользователя.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 10:55
2500 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект