Interstage Application Server J2EE ユーザーズガイド
目次 索引 前ページ次ページ

第2部 Servlet/JSP編> 第7章 Webアプリケーションの開発> 7.2 サーブレットの開発

7.2.3 日本語コード系

 サーブレットで日本語文字を処理するためには、システム全体のコード系を考慮する必要があります。

 サーブレットはJava言語で作成するため、サーブレット内部で処理する日本語コード系はUNICODEです。
 そこで、Webブラウザから入力された日本語文字はUNICODEへ、Webブラウザへ表示する文字はUNICODEから日本語のコード系に変換する必要があります。

 Apworksで作成したサーブレットは、Webブラウザとサーブレット間の入出力データを、自動的にコード変換するように考慮されています。
 入力データは、パラメタクラスのgetParameterメソッドによりUNICODEに変換されます。
 出力データは、getWriterメソッドを使用してデータを出力ストリームに書き込んでいます。
 getOutputStreamメソッドを使用すると、日本語が表示されなくなります。

 日本語コード変換の流れを以下に示します。

  1. HTMLファイルのコード系
     Apworksで作成した場合、HTMLは自動的に“shift_jis”(Shift JIS)が設定されます。
  2. 入力コード系
     Apworksで作成した場合、省略値として、“JISAutoDetect”(自動変換)が設定されています。
     パラメタクラスのコンストラクタの文字コードセット_charsetを変更することで入力のコード系を設定できます。
     また、Interstage管理コンソールで設定することもできます。詳細はInterstage管理コンソールのヘルプを参照してください。
  3. 出力コード系
     ページクラスのコンストラクタ内の_charsetで指定します。
     Apworksで作成した場合、省略値として、“iso-2022-jp”(JIS)が設定されています。
     入力コード系と同様に_charsetを変更することで出力のコード系を設定できます。

 入力コード系と出力コード系の_charsetに設定する文字コードセットについては、JDKのドキュメントを参照してください。
 JDKのバージョンで異なりますが、EUCJIS、EUC_JP、SJIS、ISO-2022-JP(ISO2022JP)などを日本語コード系として指定することができます。

 また、CORBAアプリケーションのメソッドを呼び出す場合は、UNICODEのデータをパラメタに設定してください。CORBAサーバアプリケーションからも日本語文字はUNICODEで返却されます。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005