В вышеприведенной статье описан ваш и вариант проблемы. Читайте внимательнее.
Из статьи:
1. PHP ИСПОЛЬЗУЕТ НЕВЕРНУЮ КОДИРОВКУ В КАЧЕСТВЕ КЛИЕНТСКОЙ
Симптомы:
Через phpMyAdmin (здесь и далее подразумевается версия умеющая работать с кодировками, т.е. >= 2.6.0) все по-русски, а в скрипт приходят вопросительные знаки.
Скрипт, заносящий данные в базу, видит русский нормально, а после вставки, как в правильном скрипте, так и в phpMyAdmin-е — знаки вопросов.
2. MySQL ИСПОЛЬЗУЕТ НЕВЕРНУЮ КОДИРОВКУ
Симптомы:
Русский текст приходит в скрипт как русский, в консольном клиенте тоже все хорошо. Однако не работает сортировка, перевод в верхний/нижний регистр и т.д. Если применить решение из проблемы №1, то либо русский текст становится вопросами, либо mysql_error() возвращает сообщение похожее на "Illegal mix of collations (latin1_general_ci,IMPLICIT) and (cp1251_general_ci,COERCIBLE)...". В тоже время phpMyAdmin русский текст отображает как "крокозябры" (латинские символы с умляутами и т.д.).
У меня уже на локалке ДО экспорта БД, русских букв НЕТ!