home wiki.fukuchiharuki.me
Menu

キーワード

  • JavaScript/encodeURI()
  • Java/URLDecoder.decode()

現象

次のコードでデコードしきれない文字がある。

  • JavaScriptでエンコード
    keyword = encodeURIComponent(keyword);
  • Javaでデコード
    keyword = URLDecoder.decode(keyword)

原因

URLDecoder.decode()はencodeURIComponent()でエンコードするすべてをデコードしない。 URLDecoder.decode()がデコードしない分はおそらく「#$&+,/:;=?@」で、 encodeURI()と対応づくのかもしれない?(検証してない)

対策

URLDecoder.decode()する想定ならencodeURI()にしておく。

参考