Не могу вставить кириллицу в mysql.

Не могу вставить кириллицу в mysql.

INSERT INTO `reg` (id_old, surname, name, login)
VALUES ('4042', 'Петров', 'Иван', 'Иванович', 'Ivan');

После выполнении этого запроса в базе на месте фамилии имени и отчества возникают либо бред, либо пустые строки. Сам php файл в кодировке utf8. В начале php файла присутствует строка

header('Content-Type: text/html; charset=utf-8');

Вся база, сама таблица, и все три этих поля в кодировке utf8_general_ci; После подключения к БД я выполняю вот эту фигню:

mysql_query("SET NAMES UTF8");
mysql_query("SET CHARACTER SET UTF8");
mysql_query("SET collation_connection='utf8_general_ci'");
mysql_query("SET collation_database='utf8_general_ci'");
mysql_query("SET collation_server='utf8_general_ci'");
mysql_query("SET character_set_client='utf8'");
mysql_query("SET character_set_connection='utf8'");
mysql_query("SET character_set_database='utf8'");
mysql_query("SET character_set_results='utf8'");
mysql_query("SET character_set_server='utf8'");

Если убрать вышеупомянутую бороду в базе оказываются фигня в виде Ïåòðîâ Èâàí, с фигнёй вместо кириллических строк вставляется ничто. Перед передачей в базу я вывожу запрос на экран - кириллица отображается шикарно. Передаю в базу - кириллицы нет. Есть идеи?

Замените всю фигню mysql… на это:

mysql_query("SET NAMES UTF8");
mysql_query("SET CHARACTER SET UTF8");

Ощущение что вы напихали слишком много разной лабуды и из-за этого оно не работает корректно.

mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

апострофы забыл