Windows XPにmysql5.5をインストールしています。


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に統一しているのに、未だにフィールド名(日本語)は文字化けを起こしています。
どこをどうなおせば、フィールド名が日本語になるでしょうか?

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/12/15 17:55:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:code_tk No.1

回答回数77ベストアンサー獲得回数11

ポイント67pt

[mysqld]
#default-character-set=cp932
設定がコメントアウトされてます。先頭の#を取って確認してみてください
可能ならコンソールなどで接続してstatusを確認してキャラクターが設定されてるかを確認してみてください
http://dev.mysql.com/doc/refman/4.1/ja/show-variables.html

id:akaired

ご回答ありがとうございました!

2011/12/19 17:59:26
id:kodairabase No.2

回答回数661ベストアンサー獲得回数80

ポイント67pt

MySQLでフィールド名に日本語を使うことはお勧めできません。
どうしても使う場合は、対応している文字セットはEUC, UTF8のみです。cp932は使えません。

id:akaired

ご回答ありがとうございました!

2011/12/19 17:59:22
id:mario-16 No.3

回答回数219ベストアンサー獲得回数21

ポイント66pt

こちらのページは参考になりますでしょうか。

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以降から、クライアントとの通信部分の文字コードも
自動変換しますが、このオプションで文字コードの自動変換機能を無効にします。

id:akaired

ご回答ありがとうございました!

2011/12/19 17:59:19

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません