查询

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函数
分享链接