タグ

2010年11月19日のブックマーク (2件)

  • URLエンコードとは(Tomcatでは日本語のデコードに注意)

    メール(SMTP)やHTTPなどのパケットは、ヘッダ部に宛先やその他メッセージの制御に関わる情報が載せられる。このヘッダは途中のゲートウエーを幾つか中継され、端から端のノードに伝達されるので、これらのノードに理解できるコードと文字で表現されなければならない。ヘッダ部に日語のような2バイトの文字が入ると、ノードはこれを1バイトずつ解釈しようとする。そのような混乱を防止するためURLエンコードが考えられた。URLエンコードというのは、もともとヘッダ部のURL部分に2バイト文字や制御文字と紛らわしい文字が入るのを防止するために考えられたからである。しかし送られる情報をすべて「見える」文字列に変換するのは都合が良いことが多く、ボディ部分にもしばしば使われる。ボディ部分の変換にはもうひとつMIME(Multi-Purpose Internet Mail Extensions)エンコーディングがある

  • 日本語パラメータの対応(getBytes) - リクエスト情報の取得 - サーブレット入門

    前のページでフォームから送られ来るリクエストパラメータの処理方法について確認しました。実はその時のプログラムでは日語のデータを送付すると文字化けします。 例えばフォームの入力画面で日語を含む文字を入力して送信します。 すると次のように日語を入力した部分は文字化けして表示されます。 文字化けしてしまう理由は次の通りです。 フォームで入力された値などがサーバに送信される際にURLエンコードが行われバイト列としてサーバに送信されます。サーブレット側では送られてきたバイト列を元の文字列に戻そうとするのですが、その時にデータの文字コードを「ISO-8859-1(Latin1)」だと判断して戻してしまいます。ここで文字化けが発生します。 そこで正しい文字コードを使ってバイト列から文字列を取り出すように変更します。1つ目は事前に文字コードを指定する方法、2つ目は一度誤って処理された文字列をバイト列

    日本語パラメータの対応(getBytes) - リクエスト情報の取得 - サーブレット入門