- - PR -
VB.NETでMYSQL4.1へアクセスしデータを取得
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-07-24 15:45
MYSQL4.1上にデータベースを構築し
VB.NETからODBC.NET経由でアクセスしています ADO.NETと利用してデータを取得しデータグリッドに データを表示させたいのですが、以下のソースのように すると漢字が文字化け(?????)してしまいます サーバ側のコンソールからMYSQLへログインし SQLを入力してデータを表示させた場合は正しく表示されました MYSQLの文字セットがUTF-8 Unicodeなのが原因と思われるのですが VB.NET上で文字コードをセットするほうほうがわかりません。 PHPの場合は、「SET NAMES character_set_name」と事前に発行することで 文字化けが回避できたのですが。 文字コードのセットの方法をご教示いただけますでしょうか? よろしくお願いします ---ソース Dim cn As OdbcConnection Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _ "SERVER=ホスト名;" & _ "PORT=3306;" & _ "DATABASE=データベース名;" & _ "UID=ユーザID;" & _ "PASSWORD=パスワード;" & _ "OPTION=3" cn = New OdbcConnection cn.ConnectionString = MyConString cn.Open() Dim da As New OdbcDataAdapter Dim cmd As New OdbcCommand cmd.Connection = cn cmd.CommandText = "SELECT * FROM テーブル名" da.SelectCommand = cmd Dim ds As New DataSet da.Fill(ds) DataGrid1.DataSource = ds |
|
投稿日時: 2005-07-25 20:51
自己レスです。 接続文字列を 以下のようにするとうまくいきましたっ お騒がせシマシタ^^; Dim cn As OdbcConnection Dim MyConString As String = "DRIVER={MySQL ODBC 3.51 Driver};" & _ "SERVER=[ホスト名];" & _ "PORT=3306;" & _ "DATABASE=[データベース名];" & _ "UID=[ユーザID];" & _ "PASSWORD=[パスワード];" & _ "STMT=SET CHARACTER SET SJIS;" & _ "OPTION=3" cn = New OdbcConnection cn.ConnectionString = MyConString cn.Open() |
1