プロが教える店舗&オフィスのセキュリティ対策術

今までMySQL-3.23.49 + MyODBC-3.51.02 の組み合わせで問題なく動作していましたが、 MySQLを4.1.11、MyODBCを3.51.11.2 にバージョンアップしたところ、MySQLで入力した漢字がAccess上で文字化けしてしまいました。

ちなみに MySQLの変数 character_set_system が utf8 になっている以外、character_set_client 、character_set_connection 、character_set_database 、character_set_result 、character_set_server は全てsjisになっています。

試しに utf8 のテーブルを作成したところ、文字化けは起こりません。

今回、MySQLに、シフトJISの全角/半角、カナ/かな、大文字/小文字 を同一視比較する改造を加え、MySQL内部では成功しました。

Accessでも利用したいと考えていますので、解決策を教えて下さい。

成功事例?
character_set_system の変更方法?
MyODBCで utf8-sjis 自動変換する方法?

以上 よろしくお願い致します。

A 回答 (1件)

MySQLに接続した直後、下記のSQLを実行することによって直りませんか?



SET NAMES クライアントのキャラクターセット名

毎回実行する必要があるのですが、
DBの接続処理を関数・クラス化しているのではあれば
簡単ですよね?

私は、LinuxでクライアントがUTF-8だったのですが、そのときはconfigureでキャラクタセットを明示的に指定してやれば、解決しました。

参考URL:http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ# …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!