設定/獲取 字元編碼的檢測順序

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_detect_order設定/獲取 字元編碼的檢測順序

說明

mb_detect_order(mixed $encoding_list = mb_detect_order()): mixed

為編碼列表 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-16UTF-32UCS2UCS4,編碼檢測總是會失敗。

返回值

設定編碼檢測順序時候,成功時返回 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

參見

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *