• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • mb_detect_order()

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

    设置/获取字符编码的检测顺序

    说明

    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

    在获取编码检测顺序的时候,会返回排序过的编码数组。

    范例

    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());
    ?>
    

    案例展示了无效的检测顺序

    ; 总是检测为 ISO-8859-1
    detect_order = ISO-8859-1, UTF-8
    ; 总是检测为 UTF-8,由于 ASCII/UTF-7 的值对  UTF-8 是有效的
    detect_order = UTF-8, ASCII, UTF-7
    

    参见