(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_detect_order — 設置/獲取 字符編碼的檢測順序
為編碼列表 encoding_list
設置自動(dòng)檢測字符編碼的順序。
encoding_list
encoding_list
是一個(gè) array 或者逗號分隔的字符編碼列表。
參見(jiàn)支持的編碼。
如果省略了 encoding_list
參數,它將返回當前字符編碼檢測順序的數組。
該設置會(huì )影響 mb_detect_encoding() 和 mb_send_mail()。
mbstring
當前實(shí)現了以下編碼檢測篩選器。
如有以下編碼列表的無(wú)效字節序列,編碼的檢測將會(huì )失敗。
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
,編碼檢測總是會(huì )失敗。
設置編碼檢測順序時(shí)候,成功時(shí)返回 true
,識別時(shí)候返回 false
。
在獲取編碼檢測順序的時(shí)候,會(huì )返回排序過(guò)的編碼數組。
示例 #1 mb_detect_order() 例子
<?php
/* 為檢測順序設置枚舉列表 */
mb_detect_order("eucjp-win,sjis-win,UTF-8");
/* 通過(guò)數組設置檢測順序 */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);
/* 顯示當前的檢測順序 */
echo implode(", ", mb_detect_order());
?>
示例 #2 案例展示了無(wú)效的檢測順序
; 總是檢測為 ISO-8859-1 detect_order = ISO-8859-1, UTF-8 ; 總是檢測為 UTF-8,由于 ASCII/UTF-7 的值對 UTF-8 是有效的 detect_order = UTF-8, ASCII, UTF-7