AJAX / Umlaute?
MiSo
- javascript
Mir ist aufgefallen, dass der Rückgabewert wenn ich mit AJAX arbeite nie Umlaute enthält. Kann man irgendwas dagegen machen oder übergibt http_request.responseText generell keine?
mfg
Micha
moin MiSo :)
Mir ist aufgefallen, dass der Rückgabewert wenn ich mit AJAX arbeite nie Umlaute enthält. Kann man irgendwas dagegen machen oder übergibt http_request.responseText generell keine?
Das liegt an deinem Encoding. Siehe die Problembeschreibung bei Wikipedia (besser könnt ich es nicht erklären).
liebe Grüße aus Berlin
lina-
öhm... ja... *heul*
Danke, das hat weitergeholfen. Weisst du zufällig wo ich ne Liste finde mit Zeichen, die UTF-8 nicht kennt bzw. ne Zeichentabelle? Darf ja jetzt ne schöne replace - Funktion schreiben...
mfg
Micha
moin MiSo :)
Danke, das hat weitergeholfen. Weisst du zufällig wo ich ne Liste finde mit Zeichen, die UTF-8 nicht kennt bzw. ne Zeichentabelle? Darf ja jetzt ne schöne replace - Funktion schreiben...
Diese Liste hilft mir oft weiter. Aber in den meisten Sprachen gibt es doch eine replace-Funktion.
Ansonsten kannst du deine Umlaute doch auch HTML-Codiert übertragen lassen.
Wahlweise kannst du auch die Codierung der HTML-Seite auf utf-8 stellen.
liebe Grüße aus Berlin
lina-
echo $begrüßung;
Weisst du zufällig wo ich ne Liste finde mit Zeichen, die UTF-8 nicht kennt bzw. ne Zeichentabelle? Darf ja jetzt ne schöne replace - Funktion schreiben...
Es gibt praktisch keine Zeichen, die nicht mit UTF-8 darstellbar sind. Sie sind nur anders kodiert als das von dir (höchstwahrscheinlich) verwendete ISO-8859-1. Unicode und die UTF-8-Kodierung wurden erfunden, weil die herkömmlichen Zeichensätze meist auf 128 oder 256 Zeichen beschränkt waren.
Mögliche Auswege wären:
echo "$verabschiedung $name";
- Bring deinem AJAX-Toolkit bei, ISO-8859-1-kodierte Daten zu senden und entgegenzunehmen.
- Verwende ein AJAX-Toolkit, das ISO-8859-1-kodierte Daten senden und empfangen kann.
Du hast meinen Verstand verfinstert. Leuchte hinein und erkläre!
echo $begrüßung;
- Bring deinem AJAX-Toolkit bei, ISO-8859-1-kodierte Daten zu senden und entgegenzunehmen.
- Verwende ein AJAX-Toolkit, das ISO-8859-1-kodierte Daten senden und empfangen kann.
Du hast meinen Verstand verfinstert. Leuchte hinein und erkläre!
Soweit ich weiß, gibt keine Javascript-Funktion, die UTF-8 nach ISO-8859-1 oder zurück umwandelt - bzw. allgemein gesagt: von irgendeiner Kodierung in die Kodierung der Seite und umgekehrt.
Wenn dein AJAX-Toolkit dir UTF-8-kodierte Daten sendet und solche erwartet, muss deine gesamte Seite ebenfalls die UTF-8-Kodierung verwenden, wenn es nicht zu Fehlinterpretationen der UTF-8-kodierten Daten durch den Browser kommen soll. Denn der denkt weiterhin, er bekäme ISO-8859-1-Kodiertes.
Wenn du nicht generell auf UTF-8 umsteigen möchtest, musst du also deinem AJAX-Toolkit beibringen, die Daten gemäß ISO-8859-1 zu kodieren.
echo "$verabschiedung $name";