DBを作成しPHPプログラム(UTF-8)を自前サーバー(Solaris10/apache2/mysql4.0/php4.4/)にアップしたら文字化けします。対処方法を教えてほしいのですが?

ちなみにブラウザ上で文字コードを変更してもダメです。phpmyadmin上でEUC→UTF8に変えてもダメです。
DB(mysql)の設定はEUCとなっております。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2008/06/03 09:07:23
  • 終了:2008/06/10 09:10:03

回答(4件)

id:khoshi3 No.1

khoshi3回答回数71ベストアンサー獲得回数122008/06/03 09:20:01

ポイント27pt

Apache2 の httpd.conf に "AddDefaultCharset UTF-8" がデフォルトで入っているとphp側で指定した

漢字コードを無視して、ApacheがCharsetを付加してしまうことが多いので、

この行を以下のような感じでコメントアウトしapacheをrestartしてみてください。:

# AddDefaultCharset UTF-8

id:kaji0245

httpd.conf に "AddDefaultCharset"の記述はありませんでした、php.iniのほうでしょうか?

2008/06/03 10:25:35
id:ftns No.2

ftns回答回数153ベストアンサー獲得回数162008/06/03 10:13:38

ポイント27pt

mysqlの設定をUTF-8にしてみては如何でしょう。

http://q.hatena.ne.jp/

id:kaji0245

phpmyadmin上で変更してみましたが変わりませんでした(・_・;)

2008/06/03 10:26:48
id:pahoo No.3

pahoo回答回数5960ベストアンサー獲得回数6332008/06/03 10:48:33

ポイント26pt

MySQLの設定をUTF-8に変更できる場合

phpmyadmin ではなく、設定ファイル "/etc/my.cnf" の下記の部分を変更して下さい。

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
character_set_server=utf8

MySQLの設定をEUCのままで運用する場合

PHPがDBに接続する度に、SQL文

SET NAMES utf8

を実行し、MySQLからPHPへの変換を UTF-8 で行うようにして下さい。


参考サイト

質問者が未読の回答一覧

 回答者回答受取ベストアンサー回答時間
1 khoshi3 71 66 12 2008-06-03 14:34:45
  • id:kaji0245
    php.iniのほうではdefault_charsetで検索すると以下の行のみの記述でした。
    default_charset = "Shift_JIS"
  • id:kaji0245
    httpd.conf内に"DefaultCharset UTF-8"はありましたが、コメントアウトしたほうがよいのでしょうか?
  • id:pahoo
    > php.iniのほうではdefault_charsetで検索すると以下の行のみの記述でした。
    > default_charset = "Shift_JIS"

    質問文から、PHPスクリプトはUTF-8で書かれているとのことですから、PHPスクリプトの冒頭で
    mb_internal_encoding('UTF-8');
    mb_regex_encoding('UTF-8');
    と明示しているということですか?

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません