• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:出力エンコードと内部エンコードが異なる場合の対策は?)

出力エンコードと内部エンコードが異なる場合の対策

このQ&Aのポイント
  • Linux, apache, PHPを初心者として、Vine Linux 4.1上で動作するフリーのPHPプログラムで出力エンコードと内部エンコードが異なる場合の対策方法を知りたい。
  • プログラム中でEUC-JPで保存されるデータが表示時に文字化けする問題に直面しています。.htaccessファイルに特定の設定を記述して対応しようとしましたが、解決しない状況です。
  • 助言をいただける方はいらっしゃいますか?お知恵をお借りしたいです。

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

  • ベストアンサー
  • tany180sx
  • ベストアンサー率63% (239/379)
回答No.1

internal_encoding、http_output はソース内で指定した方がよいと思います。 ini_set(name, value); > 自分で入力したデータの部分が文字化け これはフォームからの入力のことでしょうか? だとするとoutputではなくinput関連が問題かと。 その場合は、httpd.confを編集するか.htaccessの設置が必要です。 .htaccessの利用はApacheで設定を有効にする必要があります。 httpd.confに書く場合は(一応こちらが推奨されています) <Directory /path/to/> php_value mbstring.http_input "auto" </Directory>

akari131
質問者

お礼

 コメント、ありがとうございました。レスが遅くなり、申し訳ございません。拾ってきたフリーソフト(スケジューラ)を使おうとしているのですが、SJISを前提としており、一方、フォームから入力した文字はEUCで保存されてしまい、フォームから入力したデータの部分だけがスケジュール一覧中で文字化けしてしまっておりました。  いろいろ試した結果、php.iniファイル中に mbstring.encoding_translation = On とあったのを、 mbstring.encoding_translation = Off と変更することで、解決しました。どうもありがとうございました。

すると、全ての回答が全文表示されます。

関連するQ&A