2011-07-16 4 views
2

ここに私の問題があります:入力として与えられたXMLファイルをアンマーシャリングするプログラムを作成しました。 [java.io.UTFDataFormatException:2 2-の無効なバイト - リンクされた例外とJAXBでアンマーシャリングすると、次のようになります。javax.xml.bind.UnmarshalException(無効なバイトシーケンス)

javax.xml.bind.UnmarshalException :私の開発環境しかしは、この同じプログラムは、私のクライアントの環境に次の例外を得られます]

私のプログラムへの入力として与えられたXMLファイルは、エンコードtyとしてUTF-8を使用していますpe。 Unmarshallerオブジェクトは、プロパティ値を設定していないので、デフォルトのエンコーディングタイプ、つまりUTF-8を使用しています。さらに、私はアンマーシャラーにスキーマを設定しなかったので、XML検証も要求していません。

誰もが考えているか、誰かがすでに同じ問題に遭遇したことはありますか?

ありがとうございます。

答えて

0

私はすでにこのエラーが発生しています。 ISO-8859-1エンコーディングを使用するように設定を変更しました。 marshaller.setProperty(Marshaller.JAXB_ENCODING、 "ISO-8859-1");

私は、XMLの流れでUTF-8文字列を置くことができ、それは、エンコーディングがISO-8859-1

のように定義されていない場合でも、正しくマーシャル/アンマーシャリングです
関連する問題