(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_detect_order — Set/Get character encoding detection order
$encoding
= null
): array|bool
Sets the automatic character
encoding detection order to encoding
.
encoding
encoding
is an array or
comma separated list of character encoding. See supported encodings.
If encoding
is omitted or null
, 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.
When setting the encoding detection order, true
is returned on success or false
on failure.
When getting the encoding detection order, an ordered array of the encodings is returned.
Version | Description |
---|---|
8.0.0 |
encoding is nullable now.
|
Example #1 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());
?>
Example #2 Example showing useless detect orders
; 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