Zitat von
alcaeus:
Das Problem ist sozusagen "halbgeloest"
Oder auch nicht
Ich beschreibe jetzt nochmal genauer, was ich bis jetzt rausgefunden habe, und hoffe mal dass mir jemand weiterhelfen kann.
Ich habe bei einem Posting-Formular zwei Wege um es abzuschicken: einmal ueber AJAX, einmal ueber den "normalen" submit.
Die Seite um die es dabei geht, hat ISO-8859-1 als charset eingestellt; dies nur so als Information.
Wenn ich das Formular ueber AJAX absende, dann wird der Wert der textarea genommen und durch escape() gejagt. Dies macht aus '€' ein '%u20AC'. Anschliessend wird es per XMLHttpRequest-Objekt an den Server gesendet, und zwar mit Content-Type "application/x-www-form-urlencoded". Im PHP-Script nehme ich den String der reinkommt und jage ihn durch oben gepostete Funktion, der eigentlich dieses falsche JS-encodierte
Unicode-Zeichen umwandeln sollte. Da kommt allerdings trotz utf8_decode() nur '€' raus, und das landet auch in der Datenbank.
Wenn ich das Formular hingegen ueber den ueblichen Weg absende, so kommt auch ein € beim PHP-Script an, dort muss ich nichts machen.
Und das stellt mich vor ein Raetsel: trotz utf8_decode() kriege ich nicht das richtige Zeichen raus; und natuerlich landet es deshalb auch falsch in der Datenbank.
Kann mir jemand einen Tipp geben? Ich steh ichgendwie voll aufm Schlauch
Greetz
alcaeus