БлогNot. Решаем проблему с Юникодом в Denwer’e

Помощь дата->рейтинг Поиск Почта RSS канал Статистика nickolay.info Домой

Решаем проблему с Юникодом в Denwer’e

Многие (особенно начинающие) разработчики на постсоветском пространстве используют для локального написания PHP-скриптов этот славный пакет. Однако, даже прописав в скрипте правильный тип документа

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

и, шагая в ногу со временем, указав на своих страницах мета-тег Юникода

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

они получают на локалхосте "кракозябры" вместо кириллицы, при том, что на хостинге всё отображается нормально.

Проблема заключается в том, что даже в свежих сборках Denwer'а в конфигурационном файле встроенного Apache-сервера кодировкой по умолчанию красуется Windows-1251. По этой причине в браузеры насильно передается инструкция использования именно этой кодировки для чтения открываемых сайтов. Обычно эта инструкция воспринимается браузером как имеющая более высокий приоритет, и браузер уже не обращает внимания, что вы передаёте содержимое в другой кодировке.

Решить проблему можно одним из двух способов:

1. Отредактировать файл конфигурации Apache httpd.conf и заставить Denwer забыть о Windows-1251.

Файл с указанным именем находится в папке /usr/local/apache/conf/ созданного Denwer'ом логического диска (по умолчанию z:). Редактировать можно любым тестовом редактором, даже Блокнотом. Просто находим (комбинация клавиш Ctrl+F) строку с записью

AddDefaultCharset windows-1251 

и меняем её на

AddDefaultCharset utf-8

После этого перезапускаем Денвер. Сделанное изменение повлияет на все локальные сайты, так что если такой путь не подходит, используйте вариант 2, тем более, он и на реальном хостинге поможет.

2. Создать для сайта собственный файл .htaccess

Этим способом мы меняем кодировку, подставляемую по умолчанию для конкретного сайта или определённого каталога на сайте, например, если сайт находится на диске Денвера по адресу z:/home/localhost/www/mysite (т.е. представляет собой вложенную в корень сайта папку, к которой можно обращаться браузером по URL-адресу http://localhost/mysite/ ), то в этой папке нам надо создать файл с именем .htaccess (да-да, именно начинается с точки) и указать там ту же волшебную строку:

AddDefaultCharset utf-8

Проверено, работает. Ну а я Денвером не пользуюсь, так что у меня работает и так :)

Для создания файла, имя которого начинается с точки, используйте не окошечко Windows, а любой нормальный файл-менеджер, такой как Far Manager или Total Commander.


теги: сервер браузеры ошибка

комментарии (0)

15.10.2014, 10:27; рейтинг: 8231

  свежие записипоиск по блогукомментироватьстатистика

Наверх Яндекс.Метрика
© PerS
вход