目次 | 前へ | 次へ

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

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

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

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

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


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

目次 | 前へ | 次へ

Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.