JavascriptでURLエンコードした文字列がPHPでデコードできない!
タイトルそのままの不具合です・・。
javascript側でURLエンコードした文字列がPHP側でデコードできない・・。
javascript側では「escape()」という関数でエンコードしました。
そして、PHP側では「urldecode()」という関数でデコードしました。
でも、これではちゃんとデコードできない!
どうもjavascript側にはいろいろなエンコードの形式があって「escape()」という関数はPHPとあまり相性がよろしくないみたい・・。なので、代わりに「encodeURIComponent()」という関数を使うことにしました。
この形式でエンコードすれば、ちゃんとPHPの「urldecode()」でデコードができます!
下記ページに、双方の対応関係がとても詳しくのっていますね…。
Javascript と PHP の URLエンコード について | Lonely Mobiler
以上!