vb.net CSV作成するときの文字化け
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2008-11-18 10:58
いつもお世話になります。質問させていただきます。
CSV作成するときは、日本語文字化けがあります。コードは下記通りです: Dim path As String = "C:\sample.csv" System.IO.File.Delete(path) Dim csv As System.IO.StreamWriter = New System.IO.StreamWriter(path) csv.BaseStream.Seek(0, System.IO.SeekOrigin.End) For i = 0 To dt.Rows.Count - 1 Dim strData As String strData = dt.Rows(i).Item("shutcho_data_id").ToString + "," strData = strData + dt.Rows(i).Item("kaisha_code").ToString + "," strData = strData + dt.Rows(i).Item("shozoku_bumon_code") + "," strData = strData + dt.Rows(i).Item("shain_code") + "," strData = strData + dt.Rows(i).Item("shinsei_bango") + "," strData = strData + dt.Rows(i).Item("seisan_bango") + "," If dt.Rows(i).Item("shuppatsu_nichiji") <> Nothing Then strData = strData + CDate(dt.Rows(i).Item("shuppatsu_nichiji")).ToString + "," Else strData = strData + "" + "," End If If dt.Rows(i).Item("kichaku_nichiji") <> Nothing Then strData = strData + CDate(dt.Rows(i).Item("kichaku_nichiji")).ToString + "," Else strData = strData + "" + "," End If strData = strData + dt.Rows(i).Item("yotei_chi") + "," strData = strData + dt.Rows(i).Item("yomu") csv.WriteLine(strData, System.Text.Encoding.GetEncoding("Shift-JIS")) Next csv.Flush() csv.Close() MsgBox("CSVファイルを作成しました。") 以上、よろしくお願いします。 [ メッセージ編集済み 編集者: 未記入 編集日時 2008-11-18 10:59 ] | ||||
|
投稿日時: 2008-11-18 11:39
StreamWriter のコンストラクタで、エンコードを指定してみて下さい。
_________________ Nakamura Blog | ||||
|
投稿日時: 2008-11-18 12:56
なかむらさんのご指摘以外にもこの行は見直してください。 WriteLineメソッドにEncodingクラスを指定するオーバーロードはありません。 この呼び出し方ではWriteLine(String, Object)なオーバーロードが呼び出されており、 これはEncodingを指定するためのものではないので、期待するようにはなりません。 | ||||
|
投稿日時: 2008-11-18 13:10
解決しました。ありがとうございます。
修正したコードは以下通り: 前:Dim csv As System.IO.StreamWriter = New System.IO.StreamWriter(path) --> Dim csv As System.IO.StreamWriter = New System.IO.StreamWriter(path, True, System.Text.Encoding.GetEncoding("Shift-JIS")) 前:csv.WriteLine(strData,System.Text.Encoding.GetEncoding("Shift-JIS"))--> csv.WriteLine(strData) [ メッセージ編集済み 編集者: 未記入 編集日時 2008-11-18 13:40 ] |
1