dedlfix: strcmp String mit Umlauten, UTF8

Beitrag lesen

echo $begrüßung;

Beispielsweise habe ich als value "Hühner", der Button-Name lautet dann "huehner", und ich möchte abfragen: strcmp($_POST["huehner"], "???") == 0.

Warum machst du das (aus PHP-Sicht) so umständlich? Du kannst Strings direkt miteinander vergleichen: $string == $string2

Was trag ich denn dann als Vergleichswert ein?

Am besten das, was vom Client gesendet wird.

Weder Hühner noch Hühner noch Hühner funktioniert.

Wild rumraten ist nicht immer zielführend. Du bist hier nicht im HTML-Kontext, in dem eine solche Kodierung von Sonderzeichen funktioniert. PHP ist sogar so freundlich, die im HTTP-Kontext übertragenen Daten zu dekodieren, so dass du sie in reiner Form vorliegen hast (falls nicht das Feature Magic Quotes dazwischenfunkt). Lass dir ausgeben, was in $_POST steht: print_r($_POST); (Ein Quelltext-Blick oder ein vorangestelltes <pre> erhöht die Übersichtlichkeit der Ausgabe.)

Und noch besser wäre, wenn du durchgehend eine Kodierung verwendest, für den Script-Code, für die Datenhaltung, für die Kommunikation mit dem Client.

echo "$verabschiedung $name";