- 締切済み
MySQ漢字文字化け
こちらのHPでも調べましたが、総て行ったつもりですが、コマンドプロンプトでSQLを発行していますが、文字化けが起こります。 OS WindowsXP MySQL 5.1.30 現状での文字コードは character_set_client sjis character_set_connection sjis character_set_database sjis character_set_filesystem binary character_set_results sjis character_set_server latin1 character_set_system utf8 character_sets_dir C:...... です。 テーブルは、 mysql> create table test (no int,data1 text character set sjis,data2 text character set sjis); として作成しています。 my.iniも色々設定変更しましたが、駄目です。どなたか、御教授の程宜しくお願い申し上げます。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- taka451213
- ベストアンサー率47% (436/922)
こんばんは。 まず、MySQLのsjisとコマンドプロンプトのCP932は厳密に別物ですので、MySQL側もCP932を使用した方がよろしいかと・・・。 (そのバージョンならサポートされています) my.cnfの[mysql]セクションで、 default-character-set = cp932 同様に[mysqld]で default-character-set = cp932 次にSET NAMES cp932; character_set_server latin1なので、 skip-character-set-client-handshakeを書いてしまうとlatin1に変換されてしまうので、書かない方がよろしいかと・・・。
- chukenkenkou
- ベストアンサー率43% (833/1926)
>character_set_server latin1 これがだめじゃなかったかな。 [mysqld]に、default-character-set=sjisを指定していますか?
補足
回答有難う御座います。 >[mysqld]に、default-character-set=sjisを指定していますか? その1行を追加しました。(以前行いましたが再度設定しました。) character_set_server sjisにし、サービスを再起動し、 テーブルの再度作成を行いましたが駄目でした。 以前 [mysqld] skip-character-set-client-handshake も行いましたが駄目でした。 今までに、intebase,oracle,postgre,SQL serverを少し使ったことがありますが、まいっています。MySQLは使い易そうですが、文字化けで困りました。
- id357
- ベストアンサー率29% (39/133)
どうしても、との場合を除いて MySQL5 では SJIS は、さけたほうが無難です。 UTF8 前提で設計されているようですので。 あえて言えば character_set_server latin1 これは多分まずいのでは?
お礼
回答有難う御座います。 いろいろ、ネットで調べると日本語表示が出来ているようになっているのですが、残念です。もう少し調べて、駄目であれば別のバージョンのものをインストールします。それでも駄目な時は、諦めます。有難う御座いました。
お礼
有難う御座います。 MySQL4.1.22をインストールしたところ、日本語の文字が使用できるようになりました。設定は、 character_set_client latin1 character_set_connection latin1 character_set_database sjis character_set_results latin1 character_set_server sjis character_set_system utf8 character_sets_dir C:\P... としました。