Сделал трех-язычный сайт на основе друпала 4.6 (aquaristclub), работает замечательно. Конечно все таблицы в UTF-8.
Точнее работал пока не переехали на новый хостинг. У этого в базе данных выставлен по умолчанию cp1251 (по крайней мере так показывает show variables like 'character_set';). А utf-8 вообще нет (нет в списке show variables like 'character_sets';).
Весь контент всё ещё видно и новый тоже можно добавлять, но вот эта страница не работает. Там есть выборка SQL по первой букве поля в котором находится строчка на UTF-8, что то типа select russian_name from fish_profile where russian_name like 'Б%';
Как лечить ? К конфигурационным файлам MySQL у меня конечно доступа нет..
Комментарии
Ни у кого нет идей ?
Аналогично. Базу данных создаёт. Но кодировку базы указывает 1251. Мне хостер сказал при создании таблиц указывать:
CHARACTER SET utf8;
Нашёл в папках модулей /modules/* файлы *.install, в которыйх есть такая строка:
) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");
То есть, нужная мне команда уже присутствует в скрипте? А то я не спец.
Вот, нашёл. Нужно после создания базы данных в 1251 дать SQL команду в phpMyAdmin
alter database character set UTF8
Это принудительно задаст кодировку для всей базы данных - UTF8.
Проверь, что версия MySQL (>=5) у хостера поддерживает юникод.