Windowsの仕様
エディション:Windows 10 Pro
バージョン:20H2
目次
経緯
C#で.thdファイルを.csvファイルに変換するプログラムを作っていましたが、カタカナ、ひらがな、漢字が文字化けするトラブルにあいました
なので、今回文字化けしない方法を勉強しました。
エンコーディングを指定する
まず、プログラムを書きます。.thdファイルを開いて、.csvファイルのオブジェクトを作成しています。*ここでは.thdファイルのデータを取得するプログラムは書いてません。
// StreamReaderclassを使用して.thdファイルを開く StreamReader reader = new StreamReader("ファイル名.thd",Encoding.GetEncoding("Shift_JIS")); // StreamWriterオブジェクトを作成する StreamWriter writer = new StreamWriter("output.csv",false, Encoding.GetEncoding("Shift_JIS"));
という感じでできました。
エンコーディングを(“Shift_JIS”)にするといいと思います。エンコーディングには何個か種類があるので、Shift_JISでうまくいかなったら、UTF8やEUC-JPなどあるので、それで試してみてください。
私は”StreamReader”ばかり気にしてて、”StreamWriter”の方を全然気にしていなくて、”StreamWriter”のエンコーディングを指定しないまま.csvファイルに変換してしまい苦戦しました。
参考になれば、幸いです。
ここまで読んでいただきありがとうございました。