目次を表示
8.4.6 データ・エンコーディング・ディレクティブ
異なるプラットフォーム/システム間ではUTF-8エンコーディングを使用することを強くお勧めします。この方法では、コード・ページの変換問題が起こらずにデータが確実に届きます。
UTF-8バイト・エンコーディングは、ソケット接続でテキスト・データを送信する場合にのみ使用されます。
UTF-8エンコーディングは、すべての文字を表すため、システム間で使用される主要バイト・エンコーディングになります。
UTF-8エンコード・データがサービスに届くと、Unicodeに変換されます。LANSAファンクションとIBM i 上のJSMとの間でデータが転送される場合、EBCDICからUnicodeへの変換が行われます(逆の場合も同様です)。
PC (ローカル) <--- Cp1252 ---> ユーザー・エージェント(Unicode) <------> UTF-8 <-----> JSM (Unicode) <----- CCSID 37 ---> LANSAファンクション
XMLソースの内容は、自動検出方法を使用してユーザー・エージェントで読み込まれるため、エンコーディングの選択は必要ありません。
省略値では、すべてのテキストとXML内容は、ファイル拡張子/MIMEタイプのエントリーで指定されたcharset値を使用してバイト・ストリームに変換されます。XML宣言エンコーディングは、選択したエンコーディングに合うように修正されます。
詳細については、「IANAエンコーディング」を参照してください。
データ・ソース・テキストのエンコーディング(送信)
キーワード
|
説明
|
local.read.text.encoding
|
ユーザー・エージェントがローカル・テキスト・ファイルを読み込み、Unicodeデータ・ソース文字列を作成する場合に使用されます。
以下のルールにより、エンコーディングが決まります。
local.read.text.encodingエントリーがある場合、この値を使用してテキスト・バイトをUnicodeに変換します。
local.read.text.encodingエントリーがない場合、JVMの省略値・エンコーディングを使用します。
|
remote.write.text.encoding
|
ユーザー・エージェントがUnicodeデータ・ソース文字列をバイト・ストリームに変換して、リモート・ホストに送信する場合に使用されます。
以下のルールにより、エンコーディングが決まります。
ファイル拡張子に関連付けられている内容タイプに存在するcharset値を使用します。
charsetがない場合、remote.write.text.encodingエントリーを使用します。
remote.write.text.encodingエントリーがない場合、JVMの省略値・エンコーディングを使用します。
|
|
データ応答テキストのエンコーディング(受信)
キーワード
|
説明
|
remote.read.text.encoding
|
ユーザー・エージェントが、受信したHTTPバイト内容をUnicodeデータ応答文字列に変換する場合に使用されます。
以下のルールにより、エンコーディングが決まります。
HTTP応答プロトコルの内容タイプに存在するcharset値を使用します。
charsetがない場合、remote.read.text.encodingエントリーを使用します。
remote.read.text.encodingエントリーがない場合、JVMの省略値・エンコーディングを使用します。
|
local.write.text.encoding
|
ユーザー・エージェントが、Unicodeデータ応答文字列を、必要なローカル・エンコーディングに変換する場合に使用されます。
以下のルールにより、エンコーディングが決まります。
local.write.text.encodingエントリーがある場合、これを使用してUnicodeをバイトに変換します。
local.write.text.encodingエントリーがない場合、JVMの省略値・エンコーディングを使用します。
|
|
データ応答XMLのエンコーディング(受信)
キーワード
|
説明
|
remote.read.xml.encoding
|
ユーザー・エージェントが、受信したXMLバイト内容をUnicodeデータ応答文字列に変換する場合に使用されます。
以下のルールにより、エンコーディングが決まります。
remote.read.xml.encodingエントリーがある場合、これを使用してバイトをUnicodeに変換します。
remote.read.text.encodingエントリーがない場合、省略値のメソッドは*charsetになります。
値が*charsetの場合、charset値を使用します。charsetを使用できない場合、自動検出を使用します。
値が*autodetectの場合、エンコーディングを自動検出します。
|
local.write.xml.encoding
|
ユーザー・エージェントが、Unicode XMLデータ応答文字列を、必要なローカル・エンコーディングに変換する場合に使用されます。
以下のルールにより、エンコーディングが決まります。
local.write.xml.encodingエントリーがある場合、これを使用してUnicodeをバイトに変換します。
local.write.text.encodingエントリーがない場合、省略値のメソッドは*charsetになります。
値が*charsetの場合、charset値を使用します。charsetを使用できない場合、JVMの省略値・エンコーディングを使用します。
値が*defaultの場合、JVMの省略値・エンコーディングを使用します。
値が*textの場合、local.write.text.encodingメソッドを使用します。
|
|
目次を表示