"encodeURI()" will not encode [!#$'()*+,-./:;=?@_~].
"encodeURIComponent()" will not encode [!'()*-._~].
"escape()" will not encode [*+-./@_].
will not encode [!#$'()*+,-./:;=?@_~].
will not encode [!'()*-._~].
will not encode [*+-./@_].
参照URL:JavaScriptとPHPのURLエンコード【JavaScript, PHP】
PHP側はrawurlencode関数、JavaScript側はencodeURIComponent関数を使うといい
PHP:rawurlencode関数、urlencode関数
JavaScript:escape関数、encodeURI関数、encodeURIComponent関数
- urlencode関数は半角スペースを「+」に置換する。
- escape関数の2バイト文字変換は、decodeURI関数およびdecodeURIComponent関数とは異なる。
- encodeURI関数とencodeURIComponent関数の出力はUTF8に変換される。
urlencode():英数字、チルダ(~)、アンダースコア(_)、ドット(.)を除く、文字を変換し、空白は"+"に変換する。
rawurlencode():urlencode()関数とは、空白を"+"に変換しない所が異る。