PHP:文字エンコーディング関連の設定


PHP:文字エンコーディング関連の設定

■PHP.iniの設定
項目名 説明
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での指定
項目名 説明
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.php


PHP

0 件のコメント:

その他の記事