専門学生のプログラミング奮闘記

専門学生のプログラミング奮闘記

情報系の専門学生が
プログラミングで分からなかった所。
それの解決方法。
将来のことなどについて考え
それを綴っていくブログです。

Androidアプリ開発,Java言語、勉強中・・・。
とりあえずの目標は、ストアにアプリ公開!
長い目で見てやってください(笑)

Amebaでブログを始めよう!
先日、学校から、servletの課題が出たのでやっていたところ
jspのテキストボックスに入力した内容をservletに
GETメソッドでとばすと何故か文字化けしてしまう・・・。
という問題にぶちあたりました(笑)

ちゃーんと、
request.setCharacterEncoding("UTF-8");
と指定をしているにも関わらず文字化けする・・・。
何故だ・・・。と1時間も頭を抱えました。(笑)

ネットで色々と検索をかけて、ようやく見つけました。
どうやら、Tomcat5.xから、FORMのGETメソッドでパラメータを
送信した場合は、setCharacterEncodingメソッドを無視するらしい・・・。
ただし、POSTメソッドの場合は有効。

もちろん設定をすれば、
GETリクエストでも文字化けせずに
できるようですが、色々と難しそうで。
自分はPOSTメソッドでも良かったので
そちらに逃げました(笑)

一応、下にGETメソッドの設定方法を書いておきます。

GETメソッドの場合。servlet.xml.ファイルの<connector>タグの
useBodyEncodingForURI属性をtrueに指定することで、
setCharacterEncodingメソッドを有効にする。

そして、

Connecter要素でuseBodyEncodingForURI=trueとすると
サブミットを行うページのエンコーディングでURLを
デコードするようになり、文字化けを回避することが可能。
さらに、Conntecter要素のURIEncoding属性で文字コードを
指定すると、GET時のURIのエンコードを指定できる。

とのこと。
ちょっと何をおっしゃってるのか自分には分かりませんが
気が向いたら解読していこうと思います。(笑)

はじめまして、mingです。

情報系の専門学校に通ってます。
ほいで、このブログには
トップにも書きましたが、
  • プログラミングで行き詰まったこと。
  • それをどのように解決していったか。
  • 将来のことについて考えたこと。
などをメインに書いていこうかと思っています。
多分、最近思ったこともグデグデと書いていくかと・・・(笑)

プログラミングは、
  • Java/servlet
  • HTML/JQuery
  • Androidアプリ開発
などがメインになる予定です。 更新不定期ですがよろしくです!!