- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHPファイル自体と打ち出すものの文字コード)
PHPファイルの文字コードについて
このQ&Aのポイント
- PHPファイル自体と打ち出すものの文字コードについて調査した結果、Shift-JISで表示することが有効であることがわかりました。
- UTF8で書かれたPHPファイルでも、xmlの中でShift-JISを指定することで文字化けを防げます。
- 機種やキャリアによっては異なる可能性があるため、動作確認が必要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
noname#244856
回答No.1
Shift_JISを使うとあまりにも大きなハンディキャップを負うことになります。 ・「5C問題」など面倒なエスケープ処理のことを常に考える必要が生まれる ・データベースで「SET NAMES」を使ってしまうとエスケープ漏れが起きる ・「str_replace」「explode」「preg_match」といった利用頻度の高い関数が正しく動作しない PHPファイルを書くならUTF-8一択です。UTF-8ならこれらの問題が一切発生しません。よって、正しい手段は ・ファイル自体はUTF-8で記述 ・出力時にShift_JISに自動変換 ということになります。 <?php ob_start(function($s){return mb_convert_encoding($s,'SJIS-win','UTF-8');}); ?> これを1文字も出力されていない状態で実行すれば、全ての出力がShift_JISに自動変換されます。
その他の回答 (1)
noname#244856
回答No.2
その代わり、ユーザ入力を用いる場合はもちろん $str = mb_convert_encoding($str, 'UTF-8', 'SJIS-win'); のようにして元に戻す必要はありますけどね。