- ベストアンサー
文字化け:xamppを利用したphpとmysqlの組み合わせで・・
お世話になります。 いろいろと試してみましたが、どうしても解決できないので、 再度投稿させてもらいました。 環境 Windows XP ApacheFriends XAMPP (basic package) version 1.6.6a phpのソースコードは、sjisで書いています。 set names sjisやいろいろとサイトを見ながら試してみたのですが、 どうにもこうにも・・・ 文字化けされていない方の設定ってどうなっていますか? どうか、お助けください。
- みんなの回答 (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
お礼
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にするのでしょうか?
補足
大変遅くなりました。すいません。 ご教授いただいた内容でいろいろと私なりにテストしましたが、 やはり・・・ 教えて頂いた設定では、文字化けはなおりません。 何かほかに必要なこと、あるのでしょうか?