2012-04-23 8 views
0

から、私は中国のポストを含むXMLファイルを作成していますし、それが働いているように見えたが、私はエラーを取得開始しました:エンコーディングエラーXML

このページは以下のエラーが含まれています。ライン上の

エラーを列25の4165:入力が適切ではありませんUTF-8、エンコードを示します! バイト:0x0B 0xC3 0xA5 0xC2 以下は、最初のエラーまでのページのレンダリングです。

結果ファイルのいくつかを開こうとすると、それが参照する行に中国語の文字が含まれていますが、これは状況によってのみ発生し、テキストには時々その文字が含まれていることが予想されます。そのフィールドのテキストが常に正しくエンコードされるようにするにはどうすればよいですか?私はなぜまだ問題が理解されていません。

Public Shared xwriter As XmlTextWriter = New XmlTextWriter(xmlfile, Encoding.UTF8) 

xmltextwriterが正しく宣言されていることを確認します。

EDIT:

問題は、私はvb.netを使用してapparantlyそれがUTF-16のすべてをエンコードするので、私は、これは罰金であると仮定していることです。問題は、私が受け取っているテキストが恐らく二重にコード化されているか、間違ってコード化されているため、使用する前にそれをきれいにする必要があるということです。私のXMLは有効です。

編集:私は私のデータを修正する必要がある場合は

は、私の質問は、私は、特定のテキストに使用されているものエンコーディングを検出する方法で、どのように私はxmlファイルで見ることができUTF8形式に変換しますファイルを有効にします。

+0

あなたのエンコーディングの問題はわかりませんが、私の主な用途は中国語のテキストを保存する場合はUTF8を使用しません。ほとんどの場合、UTF16がより効率的になります。 – Woody

+0

問題は私がvb.netを使用していることとapparantly utf-16のすべてをエンコードするので、これは問題ないと思います。問題は、私が受け取っているテキストがおそらく二重にエンコードされているため、使用する前にそれをきれいにする必要があるということです。 – vbNewbie

+0

どこからテキストを受け取って「二重にコード化されていますか?」とはどういう意味ですか?あなたが悪いデータを書いているのであれば、それを正しく得る機会はありませんので、書き込む前にデータを修正してください – Woody

答えて

0

ソースがAnSI形式であることがわかったので、私がやっていたすべてのコンバージョンを削除しなければならなかったことが分かりました。

関連する問題