JavaScriptとPHPではそれぞれURLエンコード、デコードする関数を持っているが、それぞれ微妙に動作が違う。 URLエンコードする関数は、PHPには、rawurlencode関数、urlencode関数の2つがあり、JavaScriptには、escape関数、encodeURI関数、encodeURIComponent関数の3つがある。 それぞれのエンコード関数とデコード関数の組み合わせでどうなるのかを調べてみた。 JavaScriptとPHPのURLエンコード動作検証(ソース表示) 注目すべき点は以下の4つ。 urlencode関数が半角スペースを「+」に置換する escape関数だけが2バイト文字を他と違う文字に置換する encodeURI関数は置換する文字が少ない escape関数+(decodeURI関数 or decodeURIComponent関数)で2バイト文字はエラ