ODBC経由でAccessを繋ぐとき

サーバはsjisでインストールしていることが前提。
サーバとMySQLCC、コンソールでは正常に動作するのに、ODBC経由のAccessでデータを閲覧したり、データを書き込んだりすると日本語が見事に化ける。CCで入力したデータはAccessで読めないし、Accessで入力したデータもCCやコンソールで化ける。
この場合、ODBCを設定する際の Initial Statement に「SET NAMES SJIS」と記入することで回避。

半日悩んでいたので、解決した瞬間キタ━━━(゚∀゚)━━━!!と脳内で絶叫。


追記。
ODBCドライバは、C:\Windows\my.ini(WindowsXPの場合)を参照しているようなので、このファイルをクライアントに(MySQL本体のインストールとは無関係に手作業で)設置し、その中で

[client]
default-character-set=sjis

を記載すると、クライアント(ODBC)がsjisで動作するようになるため、上記のInitial Statementの記述は不要になる模様。
これはMySQLサーバが稼働する環境のmysqlコンソールでも同様なので、とにかくMySQLに接続する可能性のある環境には、このclientの記述を含んだmy.iniを入れてsjis設定(正確にはサーバと同じキャラクターセット)にしておいたほうが吉みたい。


MySQLのインストールを繰り返し、データベースの構築を繰り返し、テーブルの設定やAccessODBCの設定をいじりまくっていたので、この結論に至るまでにほぼ半日以上かかってますよ!orz(つまり、人月換算で10,000円以上に相当する情報ですw)