David: PHP, MySQL und UTF-8

Beitrag lesen

Hallo allerseits,

ich habe ein Problem mit in UTF-8 codierten Daten, welcher ich an eine MySQL-Datenbank schicke, wieder heraushole und ausgeben möchte.
Es klappt auch fast alles, außer, dass nur Fragezeichen ausgegeben werden.

Habe schon das Archiv durchsucht und gegoogelt, aber noch keine Lösung gefunden.

Erstmal mein Setup:
Apache 2.0.53
PHP 4.3.10
MySQL 4.1.11

Ich habe eine Datenbank mit utf8 als charset angelegt:
CREATE DATABASE test DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Die Tabelle habe ich folgendermaßen angelegt:

CREATE TABLE `test` (  
    `id` INT UNSIGNED NOT NULL AUTO_INCREMENT ,  
    `text` TEXT NOT NULL ,  
    PRIMARY KEY ( `id` )  
);

Befüllt habe ich sie folgendermaßen durch ein PHP-Script, den String lese ich eigentlich aus einer Textdatei, welche utf-8-codiert ist:

mysql_unbuffered_query ("INSERT INTO `test` (text) VALUES (_utf8 'ጲᏏऒ | ئةجذزص | ЭЊСβ ==> 嶐')");  
mysql_unbuffered_query ("INSERT INTO `test` (text) VALUES ('ጲᏏऒ | ئةجذزص | ЭЊСβ ==> 嶐')");

Ob ich vorher "SET NAMES='utf8'" als query an die Datenbank schicke, hat keine Auswirkung.

Wenn ich die beiden entstandenen Zeilen in phpMyAdmin betrachte, wird die erste korrekt angezeigt, während die zweite nur Müll ist:
ጲᏏऒ | ئةجذزص | ЭЊСβ ==> 嶐
ጲá??ऒ | ئةجذزص | ЭЊСβ ==> å¶?å

Wenn ich das ganze per
$query = mysql_query ("SELECT textFROMtest");
wieder auslese, wird die erste Zeile als Kette von Fragezeichen ausgegeben ("??? | ?????? | ???? ==> ?"), also die, die in phpMyAdmin korrekt dargestellt wird.
Die zweite Zeile, welche in PMA als Datenmüll angezeigt wird, wird bis auf wenige Zeichen korrekt ausgegeben:
ጲ�??ऒ | ئةجذزص | ЭЊСβ ==> �?

Auch bei der Abfrage ändert ein "SET NAMES='utf8'" vorher nichts...
Woran kann das liegen. Ich habe schon versucht, im Sourcecode von phpMyAdmin zu suchen, wie es da gemacht wird, aber der ist nicht wirklich übersichtlich...

Vielen Dank schon mal,
David