C# - csvファイルの保存するとき、漢字がすべて文字化けします。
-
2012年6月26日 2:22
私はW7ultimate、VS2010 Ultimate、およびC#を使用しています。
アプリケーションは、CSVファイル内のテキストボックスにデータを保存します。ファイルを開くときに、漢字がすべて文字化けします。何が間違っているか、Excel,読みやすいのcsvファイルを開くたみに一行う?
I use W7ultimate, VS2010 ultimate, and C #.
The application saves textBox data in a Csv file.When opening the file, the kanji are all Garbled. I'll put the code below. What's wrong or what to do to open the csv file in excel legible.
#region saveData() CSV void saveDataCSV() { #region Local and File name variables DateTime dt=DateTime.Now; string vs_hora=dt.Hour.ToString(); string vs_minu=dt.Minute.ToString(); string vs_segu=dt.Second.ToString(); string savename=dt.ToLongDateString()+"_"+vs_hora+"時"+vs_minu+"分"+vs_segu+"秒"; //Name of File #endregion tb_csv.Clear(); #region CABECALHO CSV tb_csv.AppendText("測定結果 "); tb_csv.AppendText(Environment.NewLine); tb_csv.AppendText("測定開始 "+","+s_dataInicial+","+s_horaInicial); tb_csv.AppendText(Environment.NewLine); tb_csv.AppendText("測定時間 "+","+dt_sokuteijikan.ToString()); tb_csv.AppendText(Environment.NewLine); tb_csv.AppendText("測定間隔 "+","+vs_qtname); tb_csv.AppendText(Environment.NewLine); #endregion #region Cabecalho da planilha tb_csv.AppendText("日付"+","+"時刻"+","+"経過時間"); tb_csv.AppendText(Environment.NewLine); #endregion #region EXPLORER CODE SaveFileDialog saveFileDialog1=new SaveFileDialog(); saveFileDialog1.Filter="TXT files (*.txt)|*.txt|CSV files(*.csv)|*.csv"; saveFileDialog1.FilterIndex=2; saveFileDialog1.RestoreDirectory=true; saveFileDialog1.FileName=savename; if(saveFileDialog1.ShowDialog()==DialogResult.OK) { Encoding sjisX=Encoding.GetEncoding("Shift_JIS"); string diret=saveFileDialog1.FileName; StreamWriter arquivo=new StreamWriter(diret); arquivo.Write(tb_csv.Text,false,sjisX); arquivo.Close(); MessageBox.Show("The file "+saveFileDialog1.FileName+" is saved!"); } #endregion GC.Collect(); enableall(); stopEverything(); } #endregion
- 編集済み Silvio Pontes 2012年6月26日 2:23 my mistake
- 編集済み Silvio Pontes 2012年6月26日 2:34 My mistake in code.
すべての返信
-
2012年6月26日 2:58モデレータ
StreamWriterのメンバーをよく確認してみて下さい。
//StreamWriter arquivo = new StreamWriter(diret); //arquivo.Write(tb_csv.Text, false, sjisX); StreamWriter arquivo = new StreamWriter(diret, false, sjisX); arquivo.Write(tb_csv.Text);
★良い回答には回答済みマークを付けよう! わんくま同盟 MVP - Visual C# http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク Silvio Pontes 2012年6月26日 13:24
-
2012年6月26日 13:27
Thank you.
動きました!
ありがとうございます。
silvio pontes

