присоединяюсь к старому вопросу. Имеется БД, работавшая раньше на mysql 3. Перешел на 5 версию. Перепробовал все вышеописанное, на выходе кракозябры.
подозреваю что при переходе на 5 версию сохранилась кодировка latin1. т.е. фактически данные в 1251, но СУБД думает что это latin1.
в данном случае лучше всего все же исправить базу в 1251, или в утф-8. сделать это не так уж просто как может показаться, но инфы в инете по этому вопросу масса