Проблема состояла в том что dump сохранялся вопросиками, сортировка выполнялась сервером не по алфавиту, и это только основные причины.
Промучился с настройкой достаточно большое количество времени, перечитал кучу страничек.
Рекомендую ознакомиться:
Работа MySQL со строками
http://sqlinfo.ru/articles/info/2.html
Обновление сервера 3.23 и 4.0
http://sqlinfo.ru/articles/info/5.html
Проблемы с русским языком и как их решать
http://www.sql.ru/faq/faq_topic.aspx?fid=152
http://phpfaq.ru/charset
А вообще везде пишут что достаточно поставить
default-character-set=cp1251
Кое кто указывает еще
character-set-server=cp1251
collation-server=cp1251_general_ci
Но на данных настройках mysql не выдавал правильно русские буковки на сайте и в утилите SQLyog.
А в SQL Manager for MySQL выдавал правильно 🙂
Решение:
В раздел [mysqld] необходимо добавить следующее:
default-character-set=cp1251
character-set-server=cp1251
collation-server=cp1251_general_ci
init-connect="SET NAMES cp1251"
skip-character-set-client-handshake
последняя строка не сработала на MySQL версии 4.1.x, но в версии 5.х сервер нормально запустился. В четверке все работает и без последней строки, т.е. решение моих проблем в init-connect="SET NAMES cp1251".
Еще заместо этой строки в my.cnf помогает в PHP скрипте:
mysql_query('SET NAMES "cp1251"', $mysql_con);
Без этого все было вопросиками.