Olaf: Problem mit AJAX und base64 Codierung

Hallo zusammen,

Formulardaten aus einem Memofeld "Feld_1" in der Datei "Eingabe.html" übergebe ich mit AJAX (POST) an eine PHP Datei "speichern.php".

Der Inhalt von Feld_1 wird per Javascript in einen String s eingelesen. Vor der Übergabe an AJAX wird s mit einer Javascript-Funktion base64 codiert.

s sieht also etwa so aus: PEhUTUw+PEhFQUQ+PC9IRUFEPg...

Nach langem Hin und Her habe ich jetzt rausgefunden, dass bei speichern.php dieser String ankommt: PEhUTUw PEhFQUQ PC9IRUFEPg...

Das heißt die Pluszeichen sind verschwunden, stattdessen sind Leerzeichen im String und damit funktioniert natürlich auch
base64_decode() in speichern.php nicht mehr.

Die Codierung mit der Javascript Funktion ist OK, denn wenn ich in speichern.php den String fest reincodiere

$testvar = "PEhUTUw+PEhFQUQ+PC9IRUFEPg...", dann wird richtig decodiert. Es liegt also tatsächlich an diesen fehlenden "+".

Hat jemand eine Idee, wo mein Denkfehler ist oder was ich tun kann?

Vielen Dank & Grüsse

Olaf

  1. Lieber Olaf,

    vielleicht magst Du mit Javascript den String noch http://de.selfhtml.org/javascript/objekte/unabhaengig.htm#encode_uri_component@title="escapen", nachdem Du ihn umgewandelt hast?

    Liebe Grüße aus Ellwangen,

    Felix Riesterer.

    --
    ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)