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 を指定すると、代替文字の設定は行いません。

$headerFlagtrue が指定されると、 header('Content-type: text/html; charset=' . $encoding); が出力されます。

参照

マニュアル > 文字コード指定