やったこと

webサービスを作るときに考えたことを垂れ流します

JavascriptでURLエンコードした文字列がPHPでデコードできない!

タイトルそのままの不具合です・・。

javascript側でURLエンコードした文字列がPHP側でデコードできない・・。

javascript側では「escape()」という関数でエンコードしました。
そして、PHP側では「urldecode()」という関数でデコードしました。
でも、これではちゃんとデコードできない!

どうもjavascript側にはいろいろなエンコードの形式があって「escape()」という関数はPHPとあまり相性がよろしくないみたい・・。なので、代わりに「encodeURIComponent()」という関数を使うことにしました。

この形式でエンコードすれば、ちゃんとPHPの「urldecode()」でデコードができます!

下記ページに、双方の対応関係がとても詳しくのっていますね…。
Javascript と PHP の URLエンコード について | Lonely Mobiler

以上!