dedlfix: Array in UTF-8 kodieren

Beitrag lesen

echo $begrüßung;

$array = array_push($array, $foo);    // mit Ergebnis, nicht NULL
Was ist denn fehlerhaft? Ich dachte ich verwende das richtig.

Siehe Handbuch. Das Ergebnis von array_push() ist ein Integerwert. Wenn du den der Array-Variablen zuweist, ist selbiges fort.

Im Handbuch steht auch es hätte den selben Effekt wie $foo[] = $bar.

Da steht auch, dass bei einer Ein-Element-Anfügung $foo[] = besser ist.

(..) mysql_set_charset() bzw. ein SET NAMES-Statement reicht und deine Sorgen sind keine mehr.
Wo müsste ich denn das SET NAMES unterbringen? Im SELECT-Statement oder bei mysql_connect("...")? Meine Experimente sind gerade gescheitert.

mysql_set_charset(), wenn das in deiner PHP-Verion vorhanden ist, nach dem mysql_connect() aufrufen. Alternativ das SET NAMES mit mysql_query() am selben Ort.

Und heißt es dann SET NAMES utf-8 oder SET NAMES utf8 und kommt das utf.. noch in einfache Anführungszeichen?

utf8 ohne Anführungszeichen geht immer. Mit Anführungszeichen geht es auch. Bei utf-8 bin ich mir grad nicht sicher, aber wenn, dann geht das wegen des Minus-Zeichens nicht ohne Anführungszeichen.

Ich hab ein bisschen rum probiert, bekomme aber immer Fehler wie z.B. Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

Dann hast du einen Fehler im vorhergehenden mysql_query(), den du nicht auswertest[1]. Das Ignorieren des Funktionsergebnisses ist keine gute Idee und führt zu solchen Folgefehlern. (Das oft gesehene "or die()" ist meist keine angemessene Reaktion.)

[1] Genauer gesagt, die Fetch-Funktion erwartet den Typ resource, du übergibt aber irgendwas anderes.

echo "$verabschiedung $name";