setEncoding
void setEncoding(
string $encoding
[, string $list = 'UTF-8,EUCJP-WIN,SJIS-WIN,JIS,ASCII'
[, mixed $substrchar = 'long'
[, boolean $headerFlag = true ]]]
)
文字コードと文字エンコーディングの検出順序、
無効な文字の置換文字を設定します。
引数
$encoding は、設定する文字コードです。
$list は、カンマ区切りの文字コードのリストです。
省略すると、'UTF-8,EUCJP-WIN,SJIS-WIN,JIS,ASCII' が指定されます。
$substrchar は、入力文字エンコーディングが無効、
または出力文字エンコーディングに文字コードが存在しない場合の
代替文字の指定です。
Unicode 値の整数、 'none'、'long'、null のいずれかを指定します。
省略すると、'none' が指定されます。
null を指定すると、代替文字の設定は行いません。
$headerFlag は、$encoding で指定した文字コードを
ヘッダ情報として出力するか否かのフラグです。
省略すると true が指定されます。
内部処理
$encoding で指定された文字コードは、
mb_internal_encoding で内部文字エンコーディングとして設定されると共に、
マルチバイト処理関数の文字コードの指定に使用されます。
$list で指定された文字コードのリストは、mb_detect_order で
文字エンコーディング検出順序として設定されると共に、
マルチバイト処理関数の文字エンコーディング検出順序の
指定に使用されます。
$substrchar で指定された代替文字の設定は、
mb_substitute_character の引数として使用されます。
null を指定すると、代替文字の設定は行いません。
$headerFlag で true が指定されると、
header('Content-type: text/html; charset=' . $encoding);
が出力されます。