Задать вопрос
@KrylCW

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

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

Пробовал AddDefaultCharset, но скрипт этот параметр перебивает.
  • Вопрос задан
  • 649 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 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
Как вы себе это представляете? )
Апач веб сервер который отдает код браузеру по порту.
Ваш код исполняется на компьютере пользователя.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы