PHP:文字エンコーディング関連の設定
■PHP.iniの設定
■マルチバイト関連の設定用関数
■HTTPレスポンスヘッダに文字エンコーディングを指定
| 項目名 | 説明 |
|---|---|
| mbstring.language | デフォルトの言語 主にメール送信(mb_send_mail)時のエンコーディング決定に使用 |
| mbstring.internal_encoding | マルチバイト文字列関数でのデフォルトの文字エンコーディング mbstring.languageより後ろに記述する必要がある |
■マルチバイト関連の設定用関数
| 関数名 | 対応するphp.iniの設定項目 |
|---|---|
| mb_language() | mbstring.language |
| mb_internal_encoding() | mbstring.internal_encoding |
| mb_regex_encoding() | なし |
■HTTPレスポンスヘッダに文字エンコーディングを指定
webブラウザの表示で文字化けしないようにHTTPレスポンスにContext-Typeの情報を出力する。
◆php.iniでの指定
◆プログラムからの指定
◆Webサーバーでの指定(Apacheの場合)
◆htmlspecialchars関数での指定
| 項目名 | 説明 | 例 |
|---|---|---|
| default_mimetype | Content-TypeヘッダのMIMEタイプを出力する | text/html |
| default_charset | Content-Typeヘッダのcharsetを出力する | UTF-8 |
◆プログラムからの指定
header('Content-Type: text/html; charset=UTF-8');
◆Webサーバーでの指定(Apacheの場合)
AddDefaultCharsetディレクティブ
AddDEfaultCharset utf-8
◆htmlspecialchars関数での指定
Webブラウザへデータを出力する際のhtmlspecialchars関数の第3引数には文字エンコーディングを指定すること
htmlspecialchars($var, ENT_QUOTES, 'UTF-8');
※ https://www.php.net/manual/ja/function.htmlspecialchars.phpPHP
0 件のコメント:
コメントを投稿