• ベストアンサー

文字化け:xamppを利用したphpとmysqlの組み合わせで・・

お世話になります。 いろいろと試してみましたが、どうしても解決できないので、 再度投稿させてもらいました。 環境  Windows XP  ApacheFriends XAMPP (basic package) version 1.6.6a    phpのソースコードは、sjisで書いています。   set names sjisやいろいろとサイトを見ながら試してみたのですが、 どうにもこうにも・・・ 文字化けされていない方の設定ってどうなっていますか? どうか、お助けください。

質問者が選んだベストアンサー

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

まず、第一にphpソースをsjisで作ると、文字化けるだけでなく思わぬところで、プログラムエラーがでることがたびたびありますから、utf8かeucで保存し直しましょう。 理由は「Shift_JIS プログラムエラー」で検索すれば沢山解説されてるので割愛。 その上で、phpとmysqlの以下の設定を全部utf8かeucかに統一すれば良いかと思います。 以下は、eucに統一する例 ーーphp.ini の文字コード設定 mbstring.internal_encoding = EUC-JP mbstring.http_output = EUC-JP ;; 携帯用などでsjis 必須ならここのみsjis mbstring.http_input = auto mbstring.encoding_translation = Off ;; 別の方法でpost送信データの文字エンコード判別をしたほうがよい mbstring.detect_order = "ASCII, UTF-8, EUC-JP, SJIS, JIS" mbstring.func_overload = 7 ーーmysql my.ini の設定 [mysql] default-character-set=ujis [mysqld] default-character-set=ujis phpが持っている、libmysql.dll の設定変更は出来ないので、 phpからmysqlへ接続したら次のsql文実行 set names ujis

参考URL:
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_40
123daa
質問者

お礼

Variable_name Value character_set_client utf8 character_set_connection utf8 character_set_database latin1 character_set_filesystem binary character_set_results utf8 character_set_server latin1 character_set_system utf8 character_sets_dir C:\xampp\mysql\share\charsets\ これをUJISにするのでしょうか?

123daa
質問者

補足

大変遅くなりました。すいません。 ご教授いただいた内容でいろいろと私なりにテストしましたが、 やはり・・・ 教えて頂いた設定では、文字化けはなおりません。 何かほかに必要なこと、あるのでしょうか?

関連するQ&A