rückgabe problem
t:o:b
- php
hallo,
ich habe folgendes problem:
ich habe ein php-script indem dann über ajax bei einem klick auf ein feld ein fenster reingeladen wird. die datei, die über ajax reingeladen wird hat aber auch sonderzeichen (wie das €-Zeichen)...anfangs wurden alle sonderzeichen (also auch ä,ö,ü) nicht angezeigt. dann habe ich mit hilfe von
get_html_translation_table(HTML_ENTITIES)
diese richtig anzeigen lassen. ä,ö,ü werden korrekt angezeigt nur das €-Zeichen wird immer noch nicht richtig angezeigt.
wie kann ich dieses problem beheben?
würde mich über schnelle hilfe außerordentlich freuen!
gruß,
t:o:b
Liebe(r) t:o:b,
php-script indem dann über ajax [...]
get_html_translation_table(HTML_ENTITIES)
AJAX-Kommunikation verwendet immer UTF-8. Jedenfalls sollte das so sein. Stelle sicher, dass Deine PHP-Ausgaben in UTF-8 kodiert sind. ut8_encode() hilft Dir dabei.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
hey felix,
tut mir leid wenn ich jetzt blöd nachfrage, aber wie kann ich jetzt die zeichen korrekt anzeigen lassen bzw. checken ob meine php-ausgaben utf-8 kodiert sind?
liebe grüße,
t:o:b
Liebe(r) t:o:b,
Javascript _erwartet_ eine UTF-8 kodierte Antwort. Wenn Du den AJAX-Request einmal direkt im Browser eingibst, dann sollte im Browserfenster der ausgegebene Code stehen. Wenn Du dann auch noch sicherstellst, dass Dein Browser alles als UTF-8 interpretiert, dann sollte die Anzeige wieder stimmen.
aber wie kann ich jetzt die zeichen korrekt anzeigen lassen
Wenn Dein aktuell angezeigte Dokument nicht in UTF-8 kodiert ist, Javascript aber eine in UTF-8 kodierte AJAX-Antwort in dieses einbinden soll, dann bin ich im Moment überfragt.
Ich hatte vorher vergessen, dass Du möglicherweise noch einen UTF-8 Header mitschicken solltest:
// Header für AJAX-Antwort
header('Content-Type: text/xml; charset=utf-8');
Liebe Grüße aus Ellwangen,
Felix Riesterer.