- - PR -
文字化けです。MYSQLをODBC接続でExcelのVBで
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-05-08 11:49
初心者です。よろしくお願いいたします。
エクセルでODBC接続でMYSQLテーブルデータから取りたいのですが日本語が文字化けしま す。エクセルのツールバーのデータの「外部データーの取り込み」では文字化けせずに正常に取り込みするこ とができますが、VBコードで抽出すると日本語の部分が「????????」と文字化けしま す。 どなたかご教授お願いいたします。 PCの環境およびVBコードは下記です。 windows XP HE MySql5.0 myODBC3.51 (※set names sjisi設定) Excel 2002 apache HTTP Server 1.3.26 mysql character set は下記です。 character_set_cliant ---> sjis character_set_connection ---> sjis character_set_database ---> sjis character_set_filesystem ---> binary character_set_results ---> sjis character_set_server ---> sjis character_set_system ---> utf8 (※sjisに統一したいのですが方法がわかりませんのでutf8のままです。) ---------独立モジュール ' データベースとレコードセットへのオブジェクト変数 Public Cn As New ADODB.Connection ' データベースへの接続 Public Rs As ADODB.Recordset ' レコードセット P_CnString = "DRIVER={MySQL ODBC 3.51 Driver};" _ & "SERVER=***.***.***.***;" _ & " DATABASE=DB_Name;" _ & "UID=****; password=********; OPTION=3" Function P_OpenDatabase() As Integer Cn.ConnectionString = P_CnString() ' データベース接続文字の取得 Cn.Open ' データベースへの接続 ---------オブジェクトモジュール Dim Sh4 As String Dim TableName As String ' MySQLテーブル名 Dim Sq1 As String ' MySQLステートメント文字列 TableName = "seihin" Sh4 = "Sheet3" Sq1 = "SELECT * from " & TableName & " ORDER BY no" Set Rs = New ADODB.Recordset 'レコードセットの初期化 Rs.Open Sq1, Cn Rs.MoveFirst Sheets(Sh4).Activate ActiveSheet.Range("A2").CopyFromRecordset Rs'<---文字化けします。 ------------ 以上です。 |
|
投稿日時: 2007-05-08 16:21
MyODBCの設定はあってます?参考(EUC変換の部分)
|
|
投稿日時: 2007-05-08 16:46
ぜんぜん詳しくないのですが。
文字化け/文字コードを見ていたら、MySQL4.1での文字化けというのがありました。 MYSQL のバージョンは違いますが、ドライバのバージョンは同じようなのでうまくいかないかな、と。 接続文字列内にも文字コードの設定が出来るようです。 ダメ元で試してみてはいかがでしょうか。 |
1