VB2010でフォームを作り、ウィザードでデータソースを追加しました。
ODBC接続をしています。
そうしたら、データソース欄に各テーブルが表示されました。テーブル名は日本語ですが、問題なく読めます。
次にフィールドを見ようとしたらフィールドは文字化けをしていて何が書いてあるかわかりません。
各テーブルのキャラセットはCHARSET=cp932です。
各フィールドのキャラセットは、キャラクターセット:cp932、照合:cp932_japanese_ciです。
mysqlの設定ファイルは、
[mysql]
default-character-set=cp932、
[mysqld]
#default-character-set=cp932
default-storage-engine=INNODB
となっています。
http://billyboy.blog81.fc2.com/blog-entry-69.html
のページを参考にODBC側でもcp932にキャラクタセットをしています。
cp932に統一しているのに、未だにフィールド名(日本語)は文字化けを起こしています。
どこをどうなおせば、フィールド名が日本語になるでしょうか?
[mysqld]
#default-character-set=cp932
設定がコメントアウトされてます。先頭の#を取って確認してみてください
可能ならコンソールなどで接続してstatusを確認してキャラクターが設定されてるかを確認してみてください
http://dev.mysql.com/doc/refman/4.1/ja/show-variables.html
MySQLでフィールド名に日本語を使うことはお勧めできません。
どうしても使う場合は、対応している文字セットはEUC, UTF8のみです。cp932は使えません。
ご回答ありがとうございました!
こちらのページは参考になりますでしょうか。
http://bigeast.web6.jp/drupal/node/19
mysqlの設定
my.ini
[mysql]
default-character-set=sjis
[mysqld]
default-character-set=sjis
skip-character-set-client-handshake
skip-character-set-client-handshake の設定を明記するのが重要。
MYSQLは4.1以降から、クライアントとの通信部分の文字コードも
自動変換しますが、このオプションで文字コードの自動変換機能を無効にします。
ご回答ありがとうございました!
ご回答ありがとうございました!
2011/12/19 17:59:26