目次 | 前の項目 | 次の項目 | JavaTM 印刷サービス API ユーザガイド |
バイト印刷データの MIME タイプに、エンコーディングを示す文字セットパラメータが指定されていない場合、Java 印刷サービスでは US-ASCII の文字セットと見なされます。この動作は、Java 実行時の動作とは異なります。Java 実行時には、配下のオペレーティングシステム上に設定されているデフォルトのエンコーディングがユーザロケールと見なされます。このエンコーディングは、US-ASCII と異なることがあります。Java TM 仮想マシン* の各インスタンスには、デフォルトの文字エンコーディングが割り当てられます。このエンコーディングは、仮想マシンが起動したときに決定され、通常は配下のオペレーティングシステムで使用されるロケールと文字セットに依存します。分散環境の 2 つの JVM が、同じデフォルトのエンコーディングを共有しないことがあります。つまり、ホストプラットフォームが符号化したテキストデータを、クライアントが Java 印刷サービスのインスタンスにストリーム配信するときは、デフォルトのエンコーディングに依存せず、文字セットを明示的に宣言する必要があります。
このため、テキストデータをストリーム配信するアプリケーションでは、MIME タイプに文字セットを常に指定する必要があります。MIME タイプを指定するには、アプリケーションから DocFlavor.hostEncoding メソッドを呼び出して、ホストプラットフォームのエンコーディングを調べる必要があります。このメソッドから返された MIME タイプは、現在の JVM 上で必ず認識されます。
Java プラットフォーム上でサポートされる文字エンコーディングの詳細については、「文字エンコーディング」を参照してください。