目次 | 前の項目 | 次の項目 JavaTM 印刷サービス API ユーザガイド


文字エンコーディングの重要性

バイト印刷データの MIME タイプに、エンコーディングを示す文字セットパラメータが指定されていない場合、Java 印刷サービスでは US-ASCII の文字セットと見なされます。この動作は、Java 実行時の動作とは異なります。Java 実行時には、配下のオペレーティングシステム上に設定されているデフォルトのエンコーディングがユーザロケールと見なされます。このエンコーディングは、US-ASCII と異なることがあります。

Java TM 仮想マシン* の各インスタンスには、デフォルトの文字エンコーディングが割り当てられます。このエンコーディングは、仮想マシンが起動したときに決定され、通常は配下のオペレーティングシステムで使用されるロケールと文字セットに依存します。分散環境の 2 つの JVM が、同じデフォルトのエンコーディングを共有しないことがあります。つまり、ホストプラットフォームが符号化したテキストデータを、クライアントが Java 印刷サービスのインスタンスにストリーム配信するときは、デフォルトのエンコーディングに依存せず、文字セットを明示的に宣言する必要があります。

このため、テキストデータをストリーム配信するアプリケーションでは、MIME タイプに文字セットを常に指定する必要があります。MIME タイプを指定するには、アプリケーションから DocFlavor.hostEncoding メソッドを呼び出して、ホストプラットフォームのエンコーディングを調べる必要があります。このメソッドから返された MIME タイプは、現在の JVM 上で必ず認識されます。

Java プラットフォーム上でサポートされる文字エンコーディングの詳細については、「文字エンコーディング」を参照してください。


*この Web サイトでは、「Java 仮想マシン」または「JVM」という用語は、Java プラットフォーム用の仮想マシンを表します。

目次 | 前の項目 | 次の項目
Copyright © 2001 Sun Microsystems, Inc. All Rights Reserved.