tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル UNICODEをS-JISに変換しDLLに渡す
投稿日: 2008/11/16(Sun) 01:56
投稿者まつ
いつもお世話になっております。
VB2005 Windows Vistaで開発しております。

NO.8409で解決した事の1歩先でまた躓いてしまいました。


'カンマ区切りテキストを読み込み、データテーブルに追加
Dim parser As New TextFieldParser(Adress, _
       System.Text.Encoding.GetEncoding("Shift_JIS"))

ご教授いただいたとおり、上記の方法でCSVをデータテーブルに取り込み
DataGridViewに正しく表示することができました。

そこで問題なのですが、DatagridViewで全半角混合のセルを
漢字はSHIFT JISでDLLに渡さなければならないのですが、
いくらやっても文字化けでこまっております。

文字コードを変換する関数は以下の通りです。

Public Function UniToJIS(UNICODEの変数) as String

'UNICODEをSJISに置き換え
Dim Bytes = System.Text.Encoding.UTF8.GetBytes(UNICODEの変数)
  UniToJIS = System.Text.Encoding.GetEncoding(932).GetString(Bytes)
Return

Exit Function

この関数の戻り値をDLLにセットしてもどうしても文字化けしてしまいます。

同じように、TEXTファイルをTextboxに取り込み、上記の方法で
TEXTBOXをSHIFTJISに変換し変数に入れているのですが、
これも文字化けです。
取り込んだTextFileをTextBoxに表示までは正しく行えております。


TextFileの取り込みは
Dim sr As System.IO.StreamReader = New System.IO.StreamReader( _
OFDialog.FileName, System.Text.Encoding.GetEncoding("Shift_JIS"))
上記方法で行いました。

お分かりになりましたらご教授して頂けないでしょうか。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。