dedlfix: Umlaute in INPUT-Feld ersetzen, wird nicht erkannt!

Beitrag lesen

Hi!

ok, also gebe ich nun in ein INPUT-Feld ein ä-ö-ü ein, wird dies per alert() auch so ausgegeben! Setze ich im alert() zum Ausgabetext ein "ä" davor, wird es als Kästchen ausgegeben.

Sowas wollte ich wissen und das bestätigt meine Theorie. Wenn Kästchen zu sehen sind, wird meistens UTF-8 erwartet (in diesem Fall vom Browser, wenn er deinen Javascript-Code liest), es kommt aber nur ISO-8859-1. Anderenfalls wären die Zeichen zu sehen, die ich am Ende dieses Posting stehen habe.

Die Codierung an der Seite kann ich leider nicht direkt ändern, wüsste auch keine andere Möglichkeit, wie ich nun hier zum Ziel komme.

Wie bearbeitest du denn die Seite? Üblicherweise macht man das in einem Texteditor. Und aktuellen Exemplaren kann man sagen, in welcher Kodierung man gern gespeichert hätte. Schau bitte im Browser die HTTP-Header der fraglichen Ressource an (zum Beispiel im Firefox über die livehttpheaders-Extension). Da muss einer namens Content-Type vorhanden sein. Hat der eine charset-Angabe angehängt oder nicht? Wenn nicht, gilt ersatzweise ein HTML-Meta-Element mit gleichem Inhalt. Und wenn gar nichts zu finden ist, darf der Browser raten. Jedenfalls musst du die dort gemachte Angabe beim Schreiben der Datei berücksichtigen. (Wenn das UTF-8 ist, dann bitte ohne BOM speichern - kann der Notepad nicht.)

Wenn du kein UTF-8 speichern kannst, aber UTF-8 an den erwähnten Stellen steht dann, dann schreib in deinen Quelltext statt
ä: ä
ö: ö
ü: ü
Ä: Ä
Ö: Ö
Ü: Ãœ
ß: ß

Lo!