MySQLのリンクテーブルで機種依存文字や全角記号が文字化けを起こす際の回避策について覚書。
記事概要
AccessからODBCドライバ経由で接続したMySQLのリンクテーブルを開くとデータが文字化けする件については、以下の記事でも回避する方法を記述した。
MySQL:AccessからODBCドライバ経由でリンクしたMySQLのテーブルのデータ(日本語)が文字化けする際の回避方法
AccessからMySQLのODBCドライバを経由してリンクしたテーブルやクエリーの結果の日本語が文字化けする場合の回避方法を覚書。 文字化けの原因は、MySQL側で指定されている文字コードがAccessでサポートしている文字コード(Shi...
テーブルに保存されているデータに機種依存文字(例.①、②)とか全角のハイフン"-"などが含まれている場合、やはり文字化けが発生する。
回避策
回避策としては、"set names sjis"の設定を"set names cp932"に変更する。 これで文字化けが回避できる。
具体的な回避方法としては、以下の2つがある。
ODBCデータソース設定を直接変更
ODBCのデータソース設定の [Connect Options] タブの [Initial Statement] に"set names cp932"を直接設定する。
リンクテーブル側の接続文字列設定を変更する
リンクテーブルの接続文字列の "STMT" に "set names cp932" を設定する。
もちろんVBAなどでConnectionオブジェクトの接続文字列プロパティ(ConnectionString)に指定してもよい。
コメント