• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:MAMPでPHP、文字化けしてしまいます。)

MAMPでPHP、文字化けしてしまいます。

このQ&Aのポイント
  • MAMPを使ってPHPを勉強している際に、文字化けの問題が発生しました。HTMLでは文字化けしないのですが、PHPの出力時に文字化けが起こります。
  • UTF-8に設定されたMAMPのiniファイルや不要な文字などを調査しましたが、原因がわかりませんでした。解決方法を教えていただきたいです。
  • HTMLのフォームに入力された情報をPHPで出力するプログラムで、PHPの出力時に文字化けが発生しています。初心者ですので、具体的な手順を教えていただけると助かります。

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

  • ベストアンサー
noname#244856
noname#244856
回答No.1

<?php mb_internal_encoding("UTF-8"); print('名前: ' . htmlspecialchars($_REQUEST['my_name'], ENT_QUOTES)); ?> ↓ <?php header('Content-Type: text/html; charset=utf-8'); print('名前: ' . htmlspecialchars($_REQUEST['my_name'], ENT_QUOTES, 'UTF-8')); ?> 【ポイント】 ・mb_internal_encoding関数は「mb_」で始まる関数にしか影響を及ぼさない。 ・htmlspecialchars関数の第3引数のデフォルト値はPH5.4以降ではUTF-8、PHP5.3以前ではlatin1というように変更された経緯があるため、指定しておく方が互換性に優れる。(PHP5.3以前では指定が必須) ・header関数でブラウザ側にMIMEタイプと同時に文字コードを伝えてあげないと文字化けの原因になる。なお、この方法はmetaタグを使うよりも望ましい。metaタグはどうしてもPHPが扱えない場合の最終手段。 こちらもご覧ください。 $_GET, $_POSTなどを受け取る際の処理($_REQUEST, $_COOKIEも同様です) http://qiita.com/mpyw/items/2f9955db1c02eeef43ea

bztakdc
質問者

お礼

解決いたしました! 色々教えてくださり、どうもありがとうございます! とても勉強になりました。。

関連するQ&A

専門家に質問してみよう