Tach!
Probier mal, statt der SET NAMES Query die mysql_set_charset Funktion aufzurufen - das ist der vom Handbuch empfohlene Weg weil der MYSQL-Treiber das dann auch mitbekommt.
Das hat keinen Einfluss auf das Problem. Der Unterschied ist nur, dass die clientseitige Funktionen mysql_real_escape_string() damit das Charset auch kennt und berücksichtigen kann[1]. Bei den üblichen Kodierungen ISO-8859-x und UTF-8 ist das unerheblich, weil alle zu behandelnden Zeichen in jedem Fall korrekt beachtet werden.
dedlfix.