■javaScriptでURLエンコード方法
javaScriptでのURLエンコード方法は以下の3パターン ・処理A encodeURI ・処理B encodeURIComponent ・処理C escape ・処理A encodeURI encodeURI がエンコードしない文字列(URI において特別な意味を持つ予約文字) ;/?:@&=+$-_!~*.,()a#' encodeURIは、UTF-8ベースでエンコードします。 URI において特別な意味を持つ予約文字はエンコードしません。 よって不完全なエンコードとなる。e ncodeURIを使用する場合には、対象のURI文字列内のパラメータの値に予約文字が存在しないことが前提。 ・処理B encodeURIComponent encodeURIComponent がエンコードしない文字列 -_!~*.()a' URIで使用する記号をすべてエンコードするため、完全なエンコードになります。 「/」「:」「&」「+」「=」などもエンコードする為、URI全体に適用するとURIとして機能しなくなるため注意が必要。 例) 「http://www.google.co.jp/search?hl=ja」→「http%3A%2F%2Fwww.google.co.jp%2Fsearch%3Fhl%3Dja」 ・処理C escape escape がエンコードしない文字列 *+-_./ escape は 全角文字など文字コードが256以上の場合は %uxxxx という形式に変換するので URLエンコード用途では推奨されない ブラウザやバージョンにより異なる実装がなされているので、encodeURIやencodeURIComponentを使用すべき。