mb_detect_order
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_detect_order — 設定/獲取 字元編碼的檢測順序
說明
為編碼列表 encoding_list
設定自動檢測字元編碼的順序。
參數
-
encoding_list
-
encoding_list
是一個 array 或者逗號分隔的字元編碼列表。 參見支援的編碼。如果省略了
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
,編碼檢測總是會失敗。
返回值
設定編碼檢測順序時候,成功時返回 true
,識別時候返回 false
。
在獲取編碼檢測順序的時候,會返回排序過的編碼陣列。
範例
示例 #1 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());
?>
示例 #2 案例展示了無效的檢測順序
; 總是檢測為 ISO-8859-1 detect_order = ISO-8859-1, UTF-8 ; 總是檢測為 UTF-8,由於 ASCII/UTF-7 的值對 UTF-8 是有效的 detect_order = UTF-8, ASCII, UTF-7
參見
- mb_internal_encoding() - 設定/獲取內部字元編碼
- mb_http_input() - 檢測 HTTP 輸入字元編碼
- mb_http_output() - 設定/獲取 HTTP 輸出字元編碼
- mb_send_mail() - 發送編碼過的郵件