查詢

mb_detect_encoding()函式—用法及示例

「 檢測字串的字元編碼 」


函式名稱:mb_detect_encoding()

適用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8

函式描述:mb_detect_encoding() 函式用於檢測字串的字元編碼。

用法: string mb_detect_encoding ( string $str [, mixed $encoding_list = mb_detect_order() [, bool $strict = FALSE ]] )

引數:

  • $str:要檢測編碼的字串。
  • $encoding_list(可選):一個以逗號分隔的字元編碼列表,用於指定要檢測的編碼。如果未提供該引數,則會使用內部設定的檢測順序。
  • $strict(可選):一個布林值,指示是否啟用嚴格模式。如果啟用嚴格模式,則只返回完全匹配的編碼。

返回值: 如果找到匹配的編碼,則返回編碼名稱,否則返回 FALSE。

示例1:

$str = "Hello, world!";
$encoding = mb_detect_encoding($str);
echo "編碼為:" . $encoding;

輸出: 編碼為:ASCII

示例2:

$str = "你好,世界!";
$encoding = mb_detect_encoding($str, "UTF-8,GB2312");
echo "編碼為:" . $encoding;

輸出: 編碼為:UTF-8

示例3:

$str = "こんにちは、世界!";
$encoding = mb_detect_encoding($str, "SJIS,EUC-JP,UTF-8");
echo "編碼為:" . $encoding;

輸出: 編碼為:UTF-8

注意事項:

  • 在使用該函式之前,需要確保 mbstring 擴充套件已經安裝並啟用。
  • 如果未提供 $encoding_list 引數,則會使用 mb_detect_order() 函式返回的檢測順序。
  • 如果設定了 $strict 引數為 TRUE,只有完全匹配的編碼才會被返回。否則,會返回最可能的編碼。
  • 如果檢測到的編碼為 UTF-8,則可能是 UTF-8 或 ASCII 編碼,需要進一步驗證。
  • 該函式僅用於檢測字串的編碼,不會對字串進行編碼轉換。
補充糾錯
上一個函式: mb_detect_order()函式
下一個函式: mb_decode_numericentity()函式
熱門PHP函式
分享連結