Сортировка в unicode

Главные вкладки

Аватар пользователя мишка мишка 21 мая 2006 в 20:27

Сделал трех-язычный сайт на основе друпала 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 у меня конечно доступа нет.. Sad

Комментарии

Аватар пользователя vktRus vktRus (не проверено) 25 мая 2007 в 13:51

Аналогично. Базу данных создаёт. Но кодировку базы указывает 1251. Мне хостер сказал при создании таблиц указывать:

CHARACTER SET utf8;

Нашёл в папках модулей /modules/* файлы *.install, в которыйх есть такая строка:

) /*!40100 DEFAULT CHARACTER SET UTF8 */ ");

То есть, нужная мне команда уже присутствует в скрипте? А то я не спец.

Аватар пользователя vktRus vktRus (не проверено) 25 мая 2007 в 14:19

Вот, нашёл. Нужно после создания базы данных в 1251 дать SQL команду в phpMyAdmin

alter database character set UTF8

Это принудительно задаст кодировку для всей базы данных - UTF8.
Проверь, что версия MySQL (>=5) у хостера поддерживает юникод.