- 締切済み
PHPとMySQLの文字化けに関して
PHPとMySQLの文字化けに関して PHPとMySQLを利用したホームページ作成の勉強をしている初心者です。 現在、レンタルサーバーをお借りして、作成したページを表示させようとしておりますが、 文字化けで悩んでおり、解決策をご教授いただきたいと思います。 まず症状についてですが、phpMyAdminを利用してデータを挿入すると、 phpMyAdminでは文字化けしませんが、作成したホームページでは文字化けが発生します。 (???が続くような文字化けです。) 一方、データ挿入用のページを作成し、そこから挿入を行うと、 phpMyAdminでは文字化けが発生しますが、 ホームページ上では一応日本語表示されます。 (phpMyAdminでの文字化けは、こんな感じです。 ã?TMã??ã?¬ã?¢ã??ã?? また、上手く表示できない物もあります。) 希望としては、全ての文字コードをutf-8に統一させたいのですが、 データベース関連の文字コードの設定が出来ず、解決が出来ません。 以下、現在の状況と、素人ながら試してみた点などについて記載します。 (情報の不備などございましたら、お手数ですがご指摘ください。) --------------------------------------------------------------- ■phpinfo関連 □PHP Version 5.1.6 □MySQL Client API version 5.0.82sp1 □default_charset Local Value UTF-8 Master Value no value ■phpMyAdmin関連 □phpMyAdmin Version 2.11.10 □status の結果 #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'status' at line 1 □SHOW VARIABLES LIKE 'char%'; の結果 Variable_name Value character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 character_sets_dir /usr/share/mysql/charsets/ □set character_set_server = utf8; の結果 SQL は正常に実行されました (クエリの実行時間 0.0002 秒) と出ますが、変更されません。 □phpMyAdmin上のデータベースの表 データベース 照合順序 DB1 utf8_general_ci DB2 utf8_general_ci information_schema utf8_general_ci 合計: 3 latin1_swedish_ci ■.htaccess関連 .htaccessを設定してFFFTPでアップロードしても、表示されません。 また、別名ファイルでアップし、アップロード先で名称変更すると、消えてしまいます。 ■その他 ファイル作成にはTeraPadを利用し、 UTF-8Nにて保存しております。 ホームページのメタタグには、 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> というものを設定しております。 php.iniやmy.cnf の設定で解決するとの情報もあり、 当該ファイルを探してみましたが、見つけることができませんでした。 --------------------------------------------------------------- なお、レンタルサーバーでの利用では、 .htaccessやphp.ini、my.cnfの設定が出来ない場合もあるそうですので、 そのような場合、どのような解決法があるのでしょうか? どうぞよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
お礼
本当に色々と有難うございます。 わざわざわかりやすく図まで載せていただき、 初心者には大変助かります。 さて、ご指摘の点についてですが、今、確認したところ、 日本語 Japanese (utf-8)とはなっておりましたが、 最初にデータベースを作成したときに、 この設定で作っていたかが定かではありません。 今一度データベースを作り直し、 今度は日本語 Japanese (utf-8)であることを確認してから 再度挑戦してみたいと思います。 有難うございました。