Уважаемые гости и пользователи форума!
Чтобы видеть ссылки на форуме - надо зарегистрироваться и иметь 1 пост на форуме. Для этого есть КУРИЛКА и там тема Здрасти.

Принудительный UTF-8 для контента

Настройка, обслуживание, эксплуатация, управление панелью ISPConfig 3. А так же обсуждение установки и оптимизация сайта под ISPConfig 3

Модератор: kulia

Правила форума
Условием использования нашего форума, является соблюдение настоящих Правил форума.


Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам, а вы рискуете получить предупреждение.
mpflash
Сообщения: 9
Зарегистрирован: 30 июл 2013, 01:52

Принудительный UTF-8 для контента

27 май 2016, 00:58

Итак, хотелось бы поделится решением проблемы, связанной с крокозябрами, то есть выводом контента вместо win1251 - UTF8.

Поголовно на всех форумах в интернете пишут все одно и тоже:

1. Добавление строки AddDefaultCharset CP1251 в конфиг апача либо htaccess
2. А также выяснением корректности строки в контенте <meta http-equiv='Content-Type' content='text/html; charset="windows-1251' >;
3. Другие варианты с добавлением header('Content-type: text/html; charset=****') в начало РНР файла.

но далеко не у всех получается решить свою проблему.

Прекрасный плагин для мозиллы, Domain Details, показывающий везде заголовки сервера
1.png
1.png (3.82 КБ) 2338 просмотров
показал в нижней строке Content-Type: text/html; charset=utf-8, в то время как прошлый мой сервер отображает Content-Type: text/html; и проблем никаких нет и выводом контента. Разумеется эта информация только подвердила тот факт, что беда именно в этом.

Далее решил зайти и поглядеть на заголовки, выдаваемые при посещении статического контента ROBOTS.txt, заголовки были идентичные, с этой же последней строкой Content-Type: text/html; charset=utf-8, уверенно зная(видимо оказалось моей ошибкой), что статический контент точно обрабатывается апачем минуя РНР, продолжил искать беду именно в апаче, пока не обнаружил в php-info следующую директиву: default_charset : UTF-8 в новом дебиан8, в дебиан6 директива была равна пустоте. Полез сравнивать конфиги PHP.INI старого 6 и новым 8 дебианом, Результат:

Код: Выделить всё

; PHP's default character set is set to empty.
; http://php.net/default-charset
; default_charset = "iso-8859-1"

Код: Выделить всё

; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
default_charset = "UTF-8"
закоментировать строку не достаточно, т.к как в отличие от первого варианта где по умолчанию и так пустота, во втором варианте будет все равно UTF-8, поэтому нужно указать именно так:

Код: Выделить всё

default_charset =
.
Уверен что лезть в РНР.INI было не обязательно, достаточно прописать эту строку в опциях сайта в самом ISPCONFIG, и все же надеюсь информация будет полезной, т.к поголовно везде все ссылаются именно на апач не РНР. Ну или я просто плохо искал.
Строгое предупреждение от модератора !
Название темы должно соответствовать содержанию. Причём тут "Debian8 + autoinstall-4.0."? Исправлено.

Вернуться в «ISPConfig 3»