- ベストアンサー
XAMPPでsjisを使いたいのですが
いろいろとお世話になっています。 XAMPP、MySQLでサーバ、クライアントともsjisを使いたいのですが、設定がlatin1でかわらず、初心者でして困っています。 phpmyadminの「MySQLの接続照合順序」というものをsjisにしても、何も変化がありません。 どのように設定すればよいか、教えていただけるとありがたいのですが。 また、character_sets_dirの場所(mysql\share\charsets)にsjisらしきファイルがないのですが、何かインストールしなければいけないのでしょうか。 どうか、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>私のcharacter_sets_dirの場所(mysql\share\charsets)にsjisらしきファイルがないのですが これは、関係しないようです。 私の環境は、Windows XP Home Edition SP2、MySQL 5.0.19-ntであり、sjisを使っていますが、\share\charsetsにsjis関連のファイルはないです。 XAMPPと同梱のMySQLの場合、my.cnfの[mysqld] セクションに、次の指定があるようですが、そのままにしていませんか? character-set-server = latin1 collation-server = latin1_general_ci もしあれば、先頭に#を入れてコメントにして、サービスを停止&再起動してください。
その他の回答 (2)
- chukenkenkou
- ベストアンサー率43% (833/1926)
過去の質問を拝見したところ、MySQLの設定は、my.cnfで行なっているのですね? [mysql]、[mysqld]、[mysqldump]の3箇所にsjisの指定を入れて、MySQLのサービスを停止、再起動してください。 また、サーバとクライアントの文字コードの設定の違いで、文字化けしてしまうことがあり、「skip-character-set-client-handshake」も入れておいた方がいいかも知れません。 1.設定・・・my.cnfの指定 [mysql] default-character-set=sjis [mysqld] default-character-set=sjis skip-character-set-client-handshake [mysqldump] default-character-set=sjis 2.確認 MySQL Command Line Clientまたはコマンドプロンプトの場合は、以下のいずれかの方法で状態表示してみてください。 clinet、connection、database、serverの4箇所が、sjisとなっていれば設定変更完了です。 (1)statusコマンドで確認 status (2)showコマンドで確認 show variables like 'char%' ※showコマンドでの確認は、phpMyAdmin等でも、SQLを入力できる状態なら、入力可能だと思います。
お礼
お返事をいただき、ありがとうございます。感謝しております。 書いていただいた通り、my.cnfに記述を加えてみましたところ、 mysql起動時に 「[ERROR] COLLATION 'latin1_general_ci' si not valid for CHARACTER SET 'sjis'」とエラーになってしまいました。 なお、私のcharacter_sets_dirの場所(mysql\share\charsets)にsjisらしきファイルがないのですが、これって問題なのでしょうか。よくわからず、単純にXAMPPをインストールしただけなので、ひょっとして、sjisのファイルが入っていないのでしょうか。 申し訳ありません。できましたら、よろしくお願いいたします。
- chukenkenkou
- ベストアンサー率43% (833/1926)
XAMPPと同梱されていたMySQLですよね? バージョンは分かりますか? MySQLのバージョンは、SQLが入力可能な状態で、「select version()」で得られると思います。
お礼
さっそくお返事いただきありがとうございます。 5.0.41-community-nt と表示されました。 申し訳ありません、よろしくお願いいたします。
お礼
ありがとうございました! [mysqld]の character-set-server = latin1 collation-server = latin1_general_ci をコメントアウトしstatusで確認したら、 Server characterset: sjis Db characterset: sjis Client characterset: sjis Conn. characterset: sjis と成功しました。ご親切にありがとうございました。 感謝しております。