mb_detect_order

(PHP 4 >= 4.0.6, PHP 5)

mb_detect_order --  文字エンコーディング検出順序を設定あるいは取得する

説明

mixed mb_detect_order ( [mixed encoding_list] )

mb_detect_order()は、自動文字エンコーディング 検出の順番をencoding_listに設定します。 成功時に TRUE、失敗時に FALSE を返します。

encoding_list は配列またはカンマ区切りの 文字エンコーディングのリストです("auto" は、 "ASCII, JIS, UTF-8, EUC-JP, SJIS"に展開されます)。

encoding_list が省略された場合、カレントの 文字エンコーディング検出順が配列で返されます。

この設定は、mb_detect_encoding() および mb_send_mail() に影響します。

注意: mbstring は現在次のエンコーディングを検出する フィルタを実装しています。以下のエンコーディングに無効な バイトシーケンスがあった場合、エンコーディング検出は失敗します。

注意: UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

ISO-8859-*の場合、mbstring は常に ISO-8859-* として検出します。

UTF-16, UTF-32, UCS2, UCS4 の場合、 エンコーディング検出は常に失敗します。

例 1. 無意味な順番の例

; 常に ISO-8859-1 として検出される
detect_order = ISO-8859-1, UTF-8

; ASCII/UTF-7 の値は UTF-8 として有効なため、常に UTF-8 として検出される。
detect_order = UTF-8, ASCII, UTF-7

例 2. mb_detect_order() の例

<?php
/* リストで検出順を設定 */
mb_detect_order("eucjp-win,sjis-win,UTF-8");

/* 配列で検出順を設定 */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);

/* カレントの検出順を表示 */
echo implode(", ", mb_detect_order());
?>

mb_internal_encoding(), mb_http_input(), mb_http_output(), および mb_send_mail() も参照ください。