воскресенье, 8 ноября 2009 г.

Переводим Denwer в кодировку utf8

Данная статья описывает точную инструкцию по переводу любимого Denwer'a на поддержку любимой кодировки utf8, с указанием версий всех пакетов, которые учавствуют в этом действе. Utf'ность Denwer'а после перевода протестирована на sNews CMS (в utf-8 режиме, ессесно).


Итак, версии составляющих:
  • Windows XP Professional 5.1 build 2600 without service packs;
  • Denwer 2 (Base_2006-10-04_a1.3.33_p4.4.3_m4.1.16_pma2.6.1.exe) дефолтная установка;
Редактируем конфиги
Останавливаем сервер, если он был запущен, и находим корень_денвера/usr/local/mysql4/my.cnf. Находим параметры default-character-set (секция client и mysqld) и init-connect (секция mysqld). Меняем значения этих параметров к виду:

default-character-set = utf8 init-connect = "set names utf8"


Устанавливаем расширение mbstring

Устанавливаем mbstring для php4, т.к. в базовой комплектации denwer'а 2 оно отсутствует. Заполучить расширение можно скачав пакет Denwer3_PHP4_2008-01-16_4.4.7.exe с сайта Denwer'а (если скачанный архив не устанавливается, его можно распаковать winrar'ом) или надавить сюда. Помещаем php_mbstring.dll в корень_денвера/usr/local/php/extensions и редактируем файл корень_денвера/usr/local/php/php.ini - убираем комментарии со строки

extension=php_mbstring.dll


Первичный тестинг

Стартуем сервер. Загружаем localhost/Tools/phpMyAdmin/ и проверяем установку расширения mbstring. Если расширение работает, то при выборе "Language: Russian (ru-utf-8)" не должно появиться дополнительное предупреждение внизу вида: "The mbstring PHP extension was not found...".

2 коммент.:

Анонимный комментирует...

Спасибо. Это самое доходчивое из найденных мной решений для неопытного пользователя. Я бы только добавил для таких же "чайников" что редактировать my.cnf нужно через файловый менеджер, "total commander", например.

Сергей Протасов комментирует...

Да и для опытного пользователя имхо это единственное решение. "my.cnf" можно и нужно редактировать... чем угодно, можно даже и чайником... :))))

Отправить комментарий