Thread Problem mit Zeichensatz bei Ajax Webseite (37 answers)
Opened by bianca at 2018-11-01 15:05

haj
 2018-11-01 22:21
#189071 #189071
User since
2015-01-07
527 Artikel
BenutzerIn

user image
2018-11-01T20:51:02 bianca
Das ist eine Webseite auf der mittels JS eine <form...> erzeugt und in das DOM eingehängt wird. Das wird dann mittels FormData() abgegriffen und das damit erzeugte Objekt wird mittels jQuery's .ajax() zum Server gesendet.

Das hilft weiter! Da komme ich nochmal auf das Thema "Über <form...> ist alles perfekt" aus Deinem ersten Posting zurück: Das klingt so, als ob das gleiche Formular, über den Browser ausgelöst, funktioniert. Geht der AJAX-Call an das gleiche Skript wie die Formular-Action?
  • Wenn das Formular im Browser mit einem Submit-Button ausgelöst wird, dann ist das Default-Encoding das der Webseite, also in Deinem Fall ISO-8859-15.
  • Wenn das gleiche Formular mit AJAX ausgelöst wird, dann ist das Default-Encoding UTF-8.

Dein Perl-Skript bekommt aus dem Request keine Information über das Encoding der Formulartexte. Wenn das gleiche Skript beide Requests abbekommt, dann musst Du für beide Fälle das Encoding herstellen, das der Code erwartet. Man kann sowohl im <form>-Tag (mit dem Attribut accept_charset) als auch im AJAX-Aufruf (mit dem Setting contentType) das Encoding vorschreiben.

View full thread Problem mit Zeichensatz bei Ajax Webseite