5

stackoverflow を含むインターネット全体で、mb_http_input('utf-8') を使用して、PHP を UTF-8 エンコーディングで動作させることが推奨されています。たとえば、PHP/MySQL エンコーディングの問題を参照してください。â��特定の文字の代わりに. 一方、PHP のマニュアルには、PHP スクリプト内で入力エンコーディングを修正することはできず、mb_http_input はそれが何であるかを問い合わせる方法であり、設定する方法ではないと書かれています。http://www.php.net/manual/en/mbstring.http.phpおよびhttp://php.net/manual/en/function.mb-httpetinput.phpを参照してください。. わかりました、これは質問の前に文脈を明確にしただけです。入力エンコーディングから内部エンコーディング、そして最終的に出力エンコーディングへの変換を制御するために、Apache + PHP + HTML には冗長なコマンドがたくさんあるように思えます。これの有用性がわかりません。たとえば、外部 HTTP クライアントからの元の入力エンコーディングが EUC-JP で、内部エンコーディングを UTF-8 に設定した場合、PHP は変換を行う必要があります。私は正しいですか?私が正しければ、入力エンコーディングを php.ini に設定するのはなぜですか? 同様の質問が出力にも当てはまります。すべての htpp ファイルで、charset=utf-8 のメタ タグを使用しています。そのため、出力の HTTP エンコーディングは固定されています。また、PHP.ini には、HTTP ヘッダーに表示される default_charset を utf-8 に設定できます。最終的な出力エンコーディングが既に修正されているのに、わざわざ mb_http_output('uft-8') を使用する必要があるのはなぜですか。要約すると、誰かが実用的な具体例を教えてくれますか?

4

1 に答える 1