- 締切済み
Mysqlで日本語がどうしても非表示になります
xampp for windows 1.7.0 apache 2.2.11 mysql 5.1.30 php 5.2.8 をインストールしました。 OSはwindowsXPです。 phpの基礎勉強を終え、MySQLでデータベースの作成の学習の途中なのですが、コマンドラインからデータベースを作成しselect*文でテーブル表示すると、日本語のデータがどうしても文字化けしてしまいました。 いろいろネット検索して試行錯誤した結果、status文で呼び出すと表示される各characterset(Server,DB,Client,Conn)ともにutf8にようやく統一できたようですが、文字化けこそしなくなったものの、今度は非表示(空白)になってしまいます。一応phpmyadminでもそのデータを表示させてみたのですがやはり非表示です。 一日やってどうにもならず、どなたかのお力をお借りしたいと思います。なにとぞご回答よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- nk2009
- ベストアンサー率100% (1/1)
先程の回答ですが追加します。 MySQL4.1.22でサービスを手動起動に設定すると、インストールした初めだけ、手動起動可能です。2回目は、Windowsからしか起動できません。 MySQL5.0.67でも日本語使用可能です。しかし、これはまた、サービス手動起動コマンドのプログラムが抜け落ちています。 商業上の問題か、無料版はいろいろ問題を含んでいるのではと思います。実用には不安です。
- nk2009
- ベストアンサー率100% (1/1)
私もmysql 5.1.30では、日本語を扱うことが出来ませんでした。 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... としました。3日も掛かりました。 mysql 5.1.30で、自動変換を切って、上の設定にすれば上手くいくのかもしれません。それでも駄目であれば、MySQL4.1.22にされては如何でしょうか。設定を有効にするには、サービスを再起動する必要があると思います。上手く行くまでは、サービスを手動にする方が、便利です。参考なれば幸いです。
- notnot
- ベストアンサー率47% (4900/10358)
>windowsのコマンドプロンプト上でutf8を使って日本語のデータを作ること自体が不可能なのではないか 直接には不可能ですね。 入力ファイルをUTF-8の使えるエディタで作って、それからリダイレクトで入力。出力もファイルにリダイレクトして、エディタで見る。 あるいは connection characterset を sjis にして使えばいいかと。
- notnot
- ベストアンサー率47% (4900/10358)
charactersetを設定し直してから、テーブルを削除して作り直してますか? あと、Windowsのコマンドプロンプトだと、文字コードはSJISですけど、そのあたりは考慮していますか?
補足
ご回答していただきありがとうございます。 ご回答の通り、charactersetを設定しなおしてから、mysqlを再起動した上でテーブル(というかデータベース丸ごと)を削除して新たに作り直してみましたが、状況は変わりませんでした。 また、windowsのコマンドプロンプトの文字コードの変更も試してみました。 コマンドプロンプトを立ち上げ→プロパティでフォントをMSゴシックに変更→chcp 65001を実行という手順を踏んでみましたが、今度は日本語入力そのものが出来なく(半角+altを押しても切り替わらない)なってしまいました。 ちなみに最初の質問でphpmyadminでのデータ表示が出来ないと書きましたが、phpmyadmin内でデータ作成するとphpmyadmin内では正しく表示されるようです。 windowsのコマンドプロンプト上でutf8を使って日本語のデータを作ること自体が不可能なのではないかとだんだん思うようになってきていますが、どうなのでしょうか。 申し訳ありませんがご解答いただけると嬉しいです。よろしくお願いします。
お礼
ご回答ありがとうございます。 やはり直接には不可能なようですね。 とりあえずはphpmyadminを使ってのデータベース構築か、おっしゃるとおりsjisに変えてやってみようと思います。 助かりました。ありがとうございました。