• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:php.iniのエンコーディングの設定について)

php.iniのエンコーディングの設定について

このQ&Aのポイント
  • PHPの設定ファイルであるphp.iniには、エンコーディングに関する設定があります。
  • また、Apacheの設定ファイルであるhttpd.confやMySQLの設定ファイルであるmy.cnfにも、エンコーディングに関する設定があります。
  • これらの設定は、Webアプリケーションの開発時やデータの受け渡し時に重要な役割を果たします。

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

  • ベストアンサー
  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.1

>HTMLファイルのフォームから入力したキーを元に、 → HTMLの文字コードでencodeして送信されてくるので、 mbstring.http_inputの設定に基づいて判定を行う。 しかしブラウザによっては、Shift-JISのページなのに、送信encodeはunicodeって事もあるようなので、mbstring.http_input=auto で判定させることが多い。 判定が付いたら、mbstring.internal_encodingに設定された文字コード系へ変換する。 >PHPでmysqlの関数を使ってmysqlからデータを取得、 mysqlのデータ内文字コードは、mbstring.internal_encodingに合わせるのがよい 異なっていると、文字化けする(異なっていることがあらかじめ解っているなら、データを得た時点で文字コード変換を掛ければいいのではあるけど) >HTMLへと出力するとした場合。 mbstring.http_outputに応じて自動変換するが、mbstring.internal_encodingと異なるコード系を指定した場合はbufferingを有効にしないといけない >(4)AddDefaultCharset:Httpヘッダにつける文字コードの指定 apacheサーバーの動作はよく知らないけど、AddDefaultCharsetを指定すると、htmlやphpまたはperlなどからのテキスト出力のヘッダーにはCharset指定が付加されるということかな? phpの場合には、サーバー側では指定しない方がいいように思う。phpの方でmbstring.http_outputに応じたヘッダーが付加されるから。さらによけいなヘッダーが付くのは文字化けの元。

bobukun
質問者

お礼

ありがとうございました、スッキリしました!どうもこの文字コードらへんがとっつきにくくて困っていたところで、非常に助かりました!どの資料を見てもスッキリしなかったのに、hrm_mmmさんの非常に分かりやすい説明に感激です!本当にありがとうございました!

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

関連するQ&A