utf8: Umlaute ok, aber get-& im Formular klappt nicht
Verfasst: 11.09.2007 18:07
Hallo. Seit ich glaube rc3 habe ich Probleme mit Links zu externen Seiten, was wohl mit dem Zeichensatz zu tun hat: Statt einzelne Elemente eines Formulars mit dem &-Zeichen zu verknüpfen, steht bei mir jetzt immer %C2%A0.
Alle Umlaute laufen bei mir super. Datenbank ist utf-8 codiert und die Language-Dateien bzw. meine meine eigenen mit dem UTF-8 ohne BOM gespeichert (gilt das eigentlich nur für die Language-Dateien, oder auch für eigene php- bzw. html-Dateien?)
Aber nun habe ich ein Formular wie
"Früher" wurde artig der Link gesetzt und die einzelnen Input-Felder mit dem &-Zeichen verbunden, also
Doch nun wird das & ersetzt durch %C2%A0 und heraus kommt, zumindest bei Firefox:
Das führt zu einem Fehler. Im Explorer wird statt der Zeichen ein Freizeichen gesetzt, was natürlich auch falsch ist.
Woran liegt das? Wie kann ich das ändern?
Ein ähnliches Problem trifft auch auf Umlaute zu, die per Formular übergeben werden sollen.
accept-charset="utf-8" im Formular bringt nichts. Auch verschiedene Dekodierungsfunktionen hatte ich bereits getestet.
Nachtrag: Opera kriegt das hin mit dem &-Zeichen.
Und noch ein Nachtrag:
Bei normalen Links (also nicht Formulare) hatte ich alle &-Zeichen durch das ersetzt, was zu dem gleichen, oben beschrieben Fehler führte. Wenn ich das &-Zeichen stehen lasse und nicht ersetze klappt der Link.
Alle Umlaute laufen bei mir super. Datenbank ist utf-8 codiert und die Language-Dateien bzw. meine meine eigenen mit dem UTF-8 ohne BOM gespeichert (gilt das eigentlich nur für die Language-Dateien, oder auch für eigene php- bzw. html-Dateien?)
Aber nun habe ich ein Formular wie
Code: Alles auswählen
<form action="http://meinedomain" target="_blank" method="get" name="test1" >
<input type="hidden" name="language" value="de" />
<input type="hidden" name="sessionID" value="0" />
<select name="name_destination">{MEINE_VARIABLE}</select>
<input type="hidden" name="type_destination" value="stop" />
<input type="submit" name="submit" value="Los" />
</form>
Code: Alles auswählen
http://meinedomain&language=de&sessionID=0&place_dm=Suchort&type_dm=stop
Code: Alles auswählen
language=de%C2%A0sessionID=0%C2%A0place_dm=Bremen%C2%A0name_dm=Zum%20Huchtinger%20Bhf.%C2%A0type_dm=stop
Woran liegt das? Wie kann ich das ändern?
Ein ähnliches Problem trifft auch auf Umlaute zu, die per Formular übergeben werden sollen.
accept-charset="utf-8" im Formular bringt nichts. Auch verschiedene Dekodierungsfunktionen hatte ich bereits getestet.
Nachtrag: Opera kriegt das hin mit dem &-Zeichen.
Und noch ein Nachtrag:
Bei normalen Links (also nicht Formulare) hatte ich alle &-Zeichen durch das ersetzt, was zu dem gleichen, oben beschrieben Fehler führte. Wenn ich das &-Zeichen stehen lasse und nicht ersetze klappt der Link.