mb_detect_encoding
mb_encode_mimeheader
Multibyte String Functions
PHP Manual

# mb_detect_order

Set/Get character encoding detection order

### Description

mixed mb_detect_order ([ mixed `$encoding_list` = mb_detect_order() ] )

Sets the automatic character encoding detection order to `encoding_list`.

### Parameters

`encoding_list`

  `encoding_list` is an array or comma separated list of character encoding. See supported encodings.

  If `encoding_list` is omitted, it returns the current character encoding detection order as array.

  This setting affects mb_detect_encoding and mb_send_mail.

  mbstring currently implements the following encoding detection filters. If there is an invalid byte sequence for the following encodings, encoding detection will fail.

  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

### Return Values

Returns `TRUE` on success or `FALSE` on failure.

### Examples

Example #2 mb_detect_order examples

`<?php
/* 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