utf8 trotz latin1

port29

deus.Server
Hallo Leute,

ich habe grade ein riesengroßes Problem mit den Zeichensätzen bei einer Website. Ich habe ein Formular in dem Daten stehen. Die Daten wurden von einem etwas älteren Server übernommen. Per Website lasse ich mir die Daten anzeigen, Umlaute werden richtig dargestellt. Ich klicke auf speichern, und schwupps: Statt der Umlaute habe ich utf8 zeichen.

mysql_client_encoding liefert latin1
tabellen sind auch alle latin1

hat von euch jemand eine idee?
 
Mit welcher Kodierung gibst du die Daten denn aus? Und zeichnest du die Ausgabe auch dementsprechend aus?
 
Also.....

die Website besteht aus zwei Teilen, da ajax. Der erste Teil ist der HTML/Java Teil, der direkt gelanden wird. Dieser ist latin1 kodiert. Bei dem Ajax Teil wird in dem xml Dokument keine feste Kodierung festgelegt. Aber wieso sollte der Browser da auf einmal utf8 verwenden?

Jedenfalls ist mir heute aufgefallen, dass wenn ich ein utf8_decode($query) in meiner datenbank Klasse setze, dass nun die Umlaute in die DB geschrieben werden und auch richtig gelesen werden. Heißt es, dass der Browser selbst das ganze in utf8 kodiert und das dann an den Webserver schickt?
 
UTF-8 ist die spezifizierte Standardkodierung für das XML-Format. Wenn du dort eine andere benutzen möchtest, musst du dies angeben. Vielleicht liegt es daran.

Ich empfehle dir übrigens ganz auf UTF-8 umzusteigen.
 
Zurück