Interstage Application Server トラブルシューティング集 |
目次
索引
![]() ![]() |
第8章 J2EEアプリケーション開発・運用時の異常 |
文字化けの対処方法、および文字化けに影響するコード変換の設定について説明します。
文字化けが発生した場合、原因を追求するために文字化けが起きた状況を確認します。
Servletサービスの運用で文字化けが発生した場合のチェックポイントを以下に示します。
JavaVM、javac、native2asciiなどのツールは、ロケールの設定に基づいて動作します。Servletサービスでも同様にロケールの設定に基づいて動作します。ロケールの設定方法について説明します。
【ロケール】
ロケール(Locale)とは、共有する言語や文化に依存するさまざまな属性をひとまとめにして定義しています。
コード系 |
ロケール |
---|---|
EUC |
Ja |
シフトJIS |
ja.JP.PCK |
UTF-8 |
ja_JP.UTF-8 |
WebアプリケーションのサーブレットはJava言語で作成するため、内部で処理する日本語コード系はUNICODEです。そこで、Webブラウザから入力された日本語文字はUNICODEへ、Webブラウザへ表示する文字はUNICODEから日本語のコードに変換する必要があります。
JSPもJavaファイルに変換され実行されるので、コード変換の設定が必要となります。
コード変換の設定方法を説明します。
[HTMLのコード系]
“charset"を設定します。
記述例(Shift_JIS)
-------------------------------------------------------------------------------
<meta http-equiv="Content-type" content="text/html; charset=Shift_JIS">
-------------------------------------------------------------------------------
[入力コード系]
ブラウザからの受信時にコンバータを使用し、文字変換を行います。
記述例(SJIS*Unicode)
-------------------------------------------------------------------------------
request.setCharacterEncoding("SJIS");
String in_value1 = request.getParameter("param1");
-------------------------------------------------------------------------------
Interstage管理コンソールで“Webアプリケーション環境設定のエンコーディング項目”を指定している場合は、コード変換を行う必要はありません。
[出力コード系]
処理結果をWebブラウザに返す時、文字変換を行うためにコンバータ指定します。
記述例(Unicode*SJIS)
-------------------------------------------------------------------------------
request.setContentType("text/html; charset=SJIS");
PrintWriter out = response.getWriter();
-------------------------------------------------------------------------------
setContentType() はgetWriter() を取得する前に呼び出す必要があります。
記述例
-------------------------------------------------------------------------------
<%@ page session="false" contentType="text/html; charset=SJIS" %>
<%
response.setContentType("text/html; charset=EUC_JP");
%>
<HTML>
<TITLE>日本語テスト(EUC_JP 出力)</TITLE>
<BODY BGCOLOR="black" TEXT="yellow">
<H1>日本語テスト(EUC_JP 出力)<BR></H1>
-------------------------------------------------------------------------------
以下に、文字化け特殊文字の対応表を掲載します。
JIS X 0208 |
Unicodeへの変換 |
|
---|---|---|
33 ('〜') |
EUC: |
Solaris OE上での変換: |
SJIS: |
Windows上での変換: |
|
01-34 ('‖') |
EUC: |
Solaris OE上での変換: |
SJIS: |
Windows上での変換: |
|
01-61 ('−') |
EUC: |
Solaris OE上での変換: |
SJIS: |
Windows上での変換: |
|
01-81 ('¢') |
EUC: |
Solaris OE上での変換: |
SJIS: |
Windows上での変換: |
|
01-82 ('£') |
EUC: |
Solaris OE上での変換: |
SJIS: |
Windows上での変換: |
|
02-44 ('¬') |
EUC: |
Solaris OE上での変換: |
SJIS: |
Windows上での変換: |
目次
索引
![]() ![]() |