PHP Manual
Prev |  | Next

# mb_detect_order

(PHP 4 >= 4.0.6)

mb_detect_order -- Set/Get character encoding detection order

## Description

``array mb_detect_order` ([mixed encoding-list])`

Warning
This function is EXPERIMENTAL. The behaviour of this function, the name of this function, and anything else documented about this function may change in a future release of PHP without notice. Be warned and use this function at your own risk.

mb_detect_order() sets automatic character encoding detection order to `encoding-list`. It returns `TRUE` for success, `FALSE` for failure.

`encoding-list` is array or comma separated list of character encoding. ("auto" is expanded to "ASCII, JIS, UTF-8, EUC-JP, SJIS")

If `encoding-list` is omitted, it returns current character encoding detection order as array.

This setting affects mb_detect_encoding() and mb_send_mail().

> Note: `mbstring` currently implements following encoding detection filters. If there is a invalid byte sequence for following encoding, encoding detection will fail.

> Note: `UTF-8`, `UTF-7`, `ASCII`, `EUC-JP`,`SJIS`, `eucJP-win`, `SJIS-win`, `JIS`, `ISO-2022-JP`

> For `ISO-8859-*`, `mbstring` always detects as `ISO-8859-*`.

> For `UTF-16`, `UTF-32`, `UCS2` and `UCS4`, encoding detection will fail always.

> Example 1. Useless detect order example
>     ; Always detect as ISO-8859-1
>     detect_order = ISO-8859-1, UTF-8

>     ; Always detect as UTF-8, since ASCII/UTF-7 values are
>     ; valid for UTF-8
>     detect_order = UTF-8, ASCII, UTF-7

Example 2. mb_detect_order() examples
    /* Set detection order by enumerated list */
    mb_detect_order("eucjp-win,sjis-win,UTF-8");

    /* Set detection order by array */
    $ary[] = "ASCII";
    $ary[] = "JIS";
    $ary[] = "EUC-JP";
    mb_detect_order($ary);

    /* Display current detection order */
    echo implode(", ", mb_detect_order());

See also mb_internal_encoding(), mb_http_input(), mb_http_output() mb_send_mail().

Prev | Home | Next
mb_http_output | Up | mb_substitute_character