- ベストアンサー
phpがsjisファイルを勝手にeuc-jpに変更してブラウザに表示する問題について
- phpがsjisファイルをeuc-jpに変更してブラウザに表示してしまう問題について解決方法を教えてください。
- phpの設定でsjisファイルをeuc-jpに変更する問題についてどうすれば良いか教えてください。
- phpの設定でsjisファイルをeuc-jpに変更する方法について詳しく教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
>データベースもsjisで動かしています。 >ところがデータベースからのデータが文字化けしているのです。 どんな設定をしたか分かりませんが PostgreSQLで使える文字コードはEUC-JPかUTF-8です。 SJISはクライアントエンコーディングを設定することで PostgreSQLが自動的に変換してくれるだけです。 逆を言えばクライアントエンコーディングを設定しなければ 入出力はEUC-JPかUTF-8になります。 PHPならpg_set_client_encodingを使ってないとか…
その他の回答 (1)
どんな処理をしようとしているのか どんな環境なのか 全く分からないのでマニュアルをどうぞ。
お礼
ありがとうございます。 php.iniの最後に default_charset = Shift_JIS output_buffering = On output_handler = mb_output_handler mbstring.http_output = SJIS mbstring.internal_encoding = SJIS mbstring.http_input = ASCII,JIS,SJIS,EUC-JP mbstring.detect_order = ASCII,JIS,SJIS,EUC-JP mbstring.substitute_character = none を追加したら動きました。 しかしPostgreSQLから受け取ったデータを表示するとそこだけ文字化けします。 環境はXPに Apache2+PHP5+PostgreSQL8 の最新版をほぼデフォルト設定でいれて動かしています。 PHPファイルはsjis データベースもsjisで動かしています。 ところがデータベースからのデータが文字化けしているのです。 すべてeucにすれば問題なく表示されていました。
お礼
ありがとうございます。 使っていませんでした。 pg_set_client_encoding($con,SJIS); を接続後に追加したら動きました。