人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: akaired
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● code_tk
●67ポイント

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


akairedさんのコメント
ご回答ありがとうございました!

2 ● kodairabase
●67ポイント

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


akairedさんのコメント
ご回答ありがとうございました!

3 ● 蝸牛角上争何事
●66ポイント

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

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


akairedさんのコメント
ご回答ありがとうございました!
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ