• ベストアンサー

Windows環境でのPHP+MySQL+Apacheの文字化け

様々なサイトで調べてみたのですが、どうしても文字化けの 解決になりませんでした。 MySQLからデータを取得し、ブラウザへ表示するとデータだけ 文字化けになってしまいます。 現在の設定は下記の通りになっております。 お分かりになる方、どうぞ宜しくお願い致します。 ※PHPのソースコードはEUS、MySQLはSjis 【php.ini】 output_buffering = On output_handler = mb_output_handler magic_quotes_gpc = Off default_charset = Shift_JIS extension_dir = C:/php/extensions extension=php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none 【my.ini】 #This File was made using the WinMySQLAdmin 1.4 Tool #2006/04/28 18:18:42 #Uncomment or Add only the keys that you know how works. #Read the MySQL Manual for instructions [mysqld] basedir=C:/mysql #bind-address=172.20.3.162 datadir=C:/mysql/data #language=C:/mysql/share/your language directory #slow query log#= #tmpdir#= #port=3306 #set-variable=key_buffer=16M default-character-set=sjis language=japanese [mysql] default-character-set=sjis [mysqldump] default-character-set=sjis [WinMySQLadmin] Server=C:/mysql/bin/mysqld-nt.exe user=root password=root default-character-set=sjis

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

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。ものすごく「アレ」な発言で恐縮ですが。 本質的に「言語挙動をiniファイルに頼る」のはちとどんなもんかと思います(無論「PHPが」それを推奨はしているのですが)。 ですので、各々の入力に対して、ご自身で「プログラム中で」きちんと文字コード変換を行ってみる、というのはどうでしょうか? もし趣味で日曜プログラミングをなさっているならちと手間が大きいかもしれないのですが。 もしお仕事でなさっているんでしたら、個人的には「必須」だと思います。

shelly11
質問者

お礼

ご回答ありがとうございました。 文字化けは自己解決しました。 単純にデータの登録時にEUCにしなかったのが原因でした。 私の確認ミスでした。。。すみません。 本当にありがとうございました。

その他の回答 (1)

回答No.1

MySQLのバージョンは? →フォルダの名前から、4.1以下であることは分かるが。。。 PHPのバージョンは? →フォルダの名前から、PHP4だと想像できるが。。。 日本MySQLユーザ会のFAQに、文字化けの記載がありますが、確認済みですか? 「set names sjis」を最初に実行してますか? my.iniの指定は有効になっていますか? →c:\windows\my.iniやc:\my.cnfの指定が優先されます。

参考URL:
http://www.mysql.gr.jp/
shelly11
質問者

お礼

ご回答ありがとうございました。 申し訳ありませんでした、肝心な情報をお教えするのを忘れていました。 PHP5.0 MySQL4.0 ですが、文字化けは自己解決しました。 単純にデータの登録時にEUCにしなかったのが原因でした。 本当にありがとうございました。