このように試した特殊文字が読めない
第一の方法#
string xmlFile = File.ReadAllText(fileName);
2番目の方法#
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
StreamReader r = new StreamReader(fs);
string s = r.ReadToEnd();
ただし、両方のステートメントはこれらの特殊文字を理解しません。どのように読むべきですか?
更新###
私もすべてのエンコーディングを試します
string xmlFile = File.ReadAllText(fileName, Encoding. );
しかし、それらの特殊文字はまだ理解していません。
「特別なキャラクター」というものはありません。それらの可能性が高いのは、latin1セット(iso-8859-1)からのASCII文字の拡張です。ストリームリーダーにエンコードを明示的に指定することで、それらを読み取ることができます(そうでない場合はUTF8を想定します)
using (StreamReader r = new StreamReader(fileName, Encoding.GetEncoding("iso-8859-1")))
r.ReadToEnd();
StreamReader sr = new StreamReader(stream, Encoding.UTF8)
あなたはそのようにUnicodeを読んでいることをStreamReaderに伝える必要があります
StreamReader sr = new StreamReader(stream, Encoding.Unicode);
ファイルが他の何らかのものである場合 エンコード、2番目のパラメーターとして指定