"Kaputte" Umlaute!
Verfasst: 15.02.2007, 01:40
Hallo!
Die Frage ist seltsam, ich bin total ratlos...
Also, alles fängt damit an, dass ich ganz normal ein Formular "an sich selbst" schicke
Ja, ok, ich erwähne noch, dass ich utf-8 als Zeichensatz habe.
In diesem Formular habe ich ein Feld, das ich in $wert speichere
Und ich möchte alle Umlaute, sagen wir, eliminieren, oder etwas anderes damit machen, egal.
Ich erzähle nicht die ganze Geschichte, ist ziemlich langweilig, aber ich habe durch Testen entdeckt, dass ich ganz komische Umlaute durch PHP in die Variable $wert bekomme. Keine PHP-Funktion funktioniert damit! Nicht mal str_replace() oder htmlspecialchars() oder htmlentities()
Das kann ich bestätigen. Schaut mal selbst:
Also, irgendwas stimmt mit $wert nicht, aber was kann das sein? Bei
bekomme ich ganz normal "abcäöü", im Seitenquelltext sieht man auch abcäöü...
Ich bin total ratlos, was kann die Ursache sein?
Vielen Dank im Voraus!
Die Frage ist seltsam, ich bin total ratlos...
Also, alles fängt damit an, dass ich ganz normal ein Formular "an sich selbst" schicke
Code: Alles auswählen
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="get">
Code: Alles auswählen
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
Code: Alles auswählen
$wert=$_REQUEST['Eingabe'];
Ich erzähle nicht die ganze Geschichte, ist ziemlich langweilig, aber ich habe durch Testen entdeckt, dass ich ganz komische Umlaute durch PHP in die Variable $wert bekomme. Keine PHP-Funktion funktioniert damit! Nicht mal str_replace() oder htmlspecialchars() oder htmlentities()

Das kann ich bestätigen. Schaut mal selbst:
Code: Alles auswählen
$umlaute = array("ä", "ö", "ü");
$keineuml = array("1", "2", "3");
$newwert = str_replace($umlaute, $keineuml, $wert);
///funktioniert nicht, ich bekomme wieder "abcäöü"
aber das hier:
$umlaute = array("ä", "ö", "ü");
$keineuml = array("1", "2", "3");
$newwert = str_replace($umlaute, $keineuml, "abcäöü");
///funktioniert doch, ich bekomme wie gewollt "abc123"
Dasselbe mit
$spwert=htmlspecialchars("üüü"); //funktioniert
$spwert=htmlspecialchars($wert); //funktioniert nicht!
usw...
Code: Alles auswählen
echo $wert;
Ich bin total ratlos, was kann die Ursache sein?
Vielen Dank im Voraus!