タイトル | : テキストファイルのUNICODE変換 |
記事No | : 8409 |
投稿日 | : 2008/11/11(Tue) 17:39 |
投稿者 | : まつ |
いつもおせわになっております。 VB2005 Vistaで開発しております。
テキストファイルをデータテーブルに取り込み、 DataGridViewに表示する事を試みております。
【テキストファイルの中身】 ハイフンなしの郵便番号,氏名(漢字)
【プログラムソース】 Dim Dt As New DataTable Dim Row As DataRow
Dt.Columns.Add("郵便番号", Type.GetType("System.String")) Dt.Columns.Add("氏名", Type.GetType("System.String"))
''カンマ区切りテキストを読み込み、データテーブルに追加 Dim parser As TextFieldParser parser = My.Computer.FileSystem.OpenTextFieldParser( _ TextBox1.Text, ",") While Not parser.EndOfData Row = Dt.NewRow Row.ItemArray = parser.ReadFields
*****
Dt.Rows.Add(Row) End While Call parser.Close()
DataGridView1.DataSource = Dt
郵便番号は正しく表示されるのですが、漢字氏名が文字化けして表示されてしまいます。 恐らく上記ソースの中の*****の部分でRow.ItemArray(1)を Unicodeの変換をしなくてはならないかと思い、 Dim shiftjis As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift-JIS") Dim unicode As System.Text.Encoding = System.Text.Encoding.UTF8 Dim sjBytes As Byte() = shiftjis.GetBytes(Row.ItemArray(1)) Dim ucBytes As Byte() = System.Text.Encoding.Convert(shiftjis, unicode, sjBytes)
上記コードを作成しましたが文字化けのままでした。 どうしても解決方法が分からず投稿させていただきました。
お忙しい中とは存じますがお分かりになる方がいらっしゃいましたら ご教授をお願いできないでしょうか。
|