• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:半角文字と全角文字のencodeのちがい)

半角文字と全角文字のencodeのちがい

このQ&Aのポイント
  • JSP-Servletにて、半角文字と全角文字のエンコードの違いについて質問です。
  • 質問者は、JSPでURLEncoder.encodeを使用して半角の「ア」と全角の「あ」をエンコードし、Servletに送信しようとしています。
  • しかし、半角の「ア」は正しくエンコード、デコードされているのに対し、全角の「あ」は正しくデコードされないとのことです。

質問者が選んだベストアンサー

  • ベストアンサー
  • mojimojio
  • ベストアンサー率51% (14/27)
回答No.1

JDK1.4をお使いでしたら、文字エンコーディングを指定してencode/decodeを行ってみるとどうでしょうか。 http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/net/URLEncoder.html 1.3以前はここで文字エンコーディングが指定できなかった(常にプラットフォームのデフォルトが使われていた)ので、例えば Windows <-> LinuxでURLエンコードした文字列のやりとりを行おうとすると文字化けがおきました。 ただ、takataka111さんの場合、JSPとServletが同じLinux上で動いているのであれば、デフォルトエンコーディングも同じで問題なさそうな気もしますが…。 JSPって実は、ContentTypeに応じてデフォルトエンコーディングを書き換えているのかも。(注: よく分かってないので推測です) 1.4が試せなければ、エンコード側とデコード側で文字エンコーディングが一致しているかどうか確かめることをお勧めします。 同じ日本語文字列をString#getBytesして比較してみるとか。

takataka111
質問者

お礼

ありがとうございました、なかなか回答が無かったもので あきらめかけておりました、とりあえずjavaScript機能の escape()とunescape()を使用してエンコードしてみましたところうまくいきました、ありがとうございます。

関連するQ&A

専門家に質問してみよう