Думаю я не первый и не последний "программист", который сталкивался и ломал голову над этой проблемой. В этой статье я постараюсь помочь вам не наступить на те же грабли. Ну или, если уж наступили, как можно быстрее с ними разобраться. Обычно дело в том, что phpMyAdmin по умолчанию создает базу и таблицы в кодировке latin1_general_ci. Как решил: 1) Поменял кодировку базы в phpMyAdmin на utf-8: Выбираем базу - нажимаем "Операции" - параметр "Cравнение" ставим "utf8_general_Ci" - "Вперед". 2) Тоже самое проделал с каждой таблицей в базе. 3) В файле подключения к базе key.php указал явную кодировку utf-8: mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); 4) В других php файлах сайта явно указал кодировку utf-8: header('Content-Type:text/html; charset=utf-8'); 5) В html файлах тоже: <meta charset="utf-8"> 6) Ну и сами файлы сайта у меня были написаны в utf-8: 6.1) Для того чтобы проверить кодировку ваших файлов - откройте их через редактор кода, например Notepad+