é
(e acute)文字を含むXML文書を読んでいます。ドキュメントはUTF-8として保存されており、バイナリファイルリーダー(UTF-8はc3
+ a9
)であることを確認しました。ただし、処理後、文字は3バイトのジャンパーになります(c3
+ 83
+ c2
)。XmlDocumentはUTF-8の「e-acute」文字を正しく読み込みません
.NETは文字をUTF-16に変換しようとしています(これは私の推測です)。または、文字を1バイト文字と2バイトUTF-8文字に分割しています。
私はこのような文書をロードしています:
XmlDocuments document = new XmlDocuments();
document.Load("z:\\source.xml");
は、どのように私はこれをロードする必要がありますか?私はUTF-8でエンコードされたストリームを通してこれを読んでいなければなりませんか?
[編集]
私はロードしてる文書がUTF-8としての地位を宣言して言及するのを忘れてしまいました。
<?xml version="1.0" encoding="utf-8"?>
「処理後」= ??? –
私はまだ問題が何かを把握しようとしています。私の最大の疑惑は、UTF-8をUTF-16や他のエンコーディングの問題として読み込む際に問題になることです。他の文字は5.1 MBのドキュメントで変更されていません。しかし私は確かに分かりません。つまり、「処理後」 - スクリプトの実行が完了した後です。 – Andrew
どのように* *を出力していますか/文字をチェックしていますか? – deceze