C#を学習しています。
Windows10でC:¥data¥の場所に
メモ帳で「犬も歩けば棒に当たるabc0123」と記入し作成したテキストファイルを
StreamReaderクラスのReadToEndメゾットで読み込もうとすると
ファイルの読み込みまでは上手くいくのですが、日本語が文字化けします。(日本語offのアルファベットと数字は問題なし、日本語ソフトIMEはATOK2014を使用)
文字コードの指定に問題があるのかと思い、以下のようにファイルの文字コーディングを変更してみて試してみたのですが上手くいきません。
どのようにすれば文字化けせずに読み出すことが出来るのでしょうか?
すみませんがどうぞよろしくお願いいたします。
C#
1using System.IO; 2//中略 3{ 4 using (var reader = new StreamReader(@"c:\data\sample.txt")) 5 { 6 //Console.WriteLine(reader.ReadToEnd(),Encoding.GetEncoding("UTF-8"));//日本語化ける 7 //Console.WriteLine(reader.ReadToEnd(),Encoding.GetEncoding("Shift-JIS"));//日本語化ける 8 //Console.WriteLine(reader.ReadToEnd(),Encoding.GetEncoding("Shift_JIS"));//日本語化ける 9 //Console.WriteLine(reader.ReadToEnd(),Encoding.GetEncoding("ASCII"));//日本語化ける 10 //Console.WriteLine(reader.ReadToEnd(),Encoding.GetEncoding("CP932"));//サポート外 11 } 12 }
Console.WriteLine("犬も歩けば棒に当たるabc0123");とした場合、文字化けしないのでしょうか?コンソールのフォントの可能性を考えての質問です。
どのように化けますか?
Console.WriteLine("犬も歩けば棒に当たるabc0123");とした場合は問題なく表示されます。
文字化けの様子を記述していませんでした、情報足りずで申し訳ありません。
???????Z???????abc0123
と言うふうに表示されます、文字コーディングをいくつか変更して試してみましたが同じでした。
ここまで多くの方にアドバイスを頂き感謝致します、頂いたアドバイスを参考に引き続き自分の方も原因を調べます。

回答6件
あなたの回答
tips
プレビュー