私は単純なjava Stringオブジェクトを持っており、XStreamを使用してシリアライズ/デシリアライズしたいと思っています。シリアライゼーションはうまくいきますが、この文字列がロシア語で書かれているように、デシリアライズ後に文字列のエンコーディングが壊れていることがわかります。XStreamエンコーディングが壊れています
Xstreamのこの問題やファイルの問題が特定のエンコーディングで記述する必要があるかどうかは誰にでも分かります。
ありがとうございました!
私は単純なjava Stringオブジェクトを持っており、XStreamを使用してシリアライズ/デシリアライズしたいと思っています。シリアライゼーションはうまくいきますが、この文字列がロシア語で書かれているように、デシリアライズ後に文字列のエンコーディングが壊れていることがわかります。XStreamエンコーディングが壊れています
Xstreamのこの問題やファイルの問題が特定のエンコーディングで記述する必要があるかどうかは誰にでも分かります。
ありがとうございました!
私は新しいXStreamのバージョンで、あなたはそれが正しく、それはパースになる時間によって右符号化方式を使用してデコードされますように、あなたのXMLストリームの読者にデコードを委任する必要があるからだと思います。
は、それが役に立つかもしれません、このを見てみましょう:http://x-stream.github.io/faq.html
はなぜXStreamのは、XML宣言のencodingを尊重しないのですか?
XStreamアーキテクチャはIOリーダーとライターに基づいており、XML宣言はXMLパーサーの役割を果たします。すべてのHierarchicalStreamDriverの実装はバージョン1.3以降のエンコーディングを尊重しますが、あなたがInputStreamを提供した場合のみです。 XStreamがReaderを消費する場合は、エンコーディングを行う読者の作業であり、XMLパーサーはReaderのエンコーディングを変更できず、XMLヘッダーのエンコーディング定義は無視されるため、適切なエンコーディングでリーダーを初期化する必要があります。
Xstream FAQをご覧になり、「エンコード」を検索してください。独自のライターを用意して、デフォルト以外のローカルエンコーディングを取得する必要があるようです。
上記のコメントのように、この質問がそれをカバー:
http://stackoverflow.com/questions/1211624/how-do-i-encode-utf-8-using-the -xstream-frameworkこれが役立つかもしれない –