Accessロゴ

AccessからMySQLのODBCドライバを経由してリンクしたテーブルやクエリーの結果の日本語が文字化けする場合の回避方法を覚書。

文字化けの原因は、MySQL側で指定されている文字コードがAccessでサポートしている文字コード(Shift_JIS)と異なるために発生する。
VBAなどのプログラムから接続しに行った場合でも同様。

日本語の文字化けを防ぐには、ODBCドライバの設定で"Shift_JIS"を使うように設定すればよい。

以下にODBCドライバの設定方法について説明。
スポンサードリンク


MySQLのODBCドライバの文字コード設定

MySQLのODBCドライバの設定には文字コードを指定できる場所があるので、そこにAccess側の文字コードを使うことを記述しておけば文字化けせずに済む。

設定方法は以下のとおり。

[ODBCアドミニストレータ]のデータソース設定時に[Connect Options]タブの[Initial Statement]ボックスに以下の表記を入力しておく。(引用符は含まない)
"SET NAMES SJIS"



この設定をしておけば、UTF8で設定されているテーブルをリンクしても文字化けが発生しない。

"SET NAMES SJIS"オプションについては、VBAで接続する場合の接続文字列でも指定できる。

機種依存文字や全角記号の文字化け対応について

一部の機種依存文字や全角記号("①"など)だけが文字化けしているような場合は、以下の記事を参照。

「MySQLのリンクテーブルで機種依存文字や全角記号などの文字化け回避について」

スポンサードリンク

  

関連記事