array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'pt_BR', ), 'this' => array ( 0 => 'function.mb-detect-order.php', 1 => 'mb_detect_order', ), 'up' => array ( 0 => 'ref.mbstring.php', 1 => 'Strings Multibyte e Funções', ), 'prev' => array ( 0 => 'function.mb-detect-encoding.php', 1 => 'mb_detect_encoding', ), 'next' => array ( 0 => 'function.mb-encode-mimeheader.php', 1 => 'mb_encode_mimeheader', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'pt_BR', 'path' => 'reference/mbstring/functions/mb-detect-order.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_detect_order — Define/Obtém a ordem de detecção de codificação de caracteres
Define a ordem automática de
detecção de codificação de caracteres para encoding
.
encoding
encoding
é um array ou
lista de codificações de caracteres separadas por vírgula. Veja codificações suportadas.
Se encoding
for omitido ou null
, ele retorna
a ordem atual de detecção de codificação de caracteres como um array.
Essa configuração afeta mb_detect_encoding() e mb_send_mail().
mbstring
implementa atualmente os seguintes
filtros de detecção de codificação. Se houver uma sequência de bytes inválida
para as seguintes codificações, a detecção de codificação falhará.
UTF-8
, UTF-7
,
ASCII
,
EUC-JP
,SJIS
,
eucJP-win
, SJIS-win
,
JIS
, ISO-2022-JP
Para ISO-8859-*
, mbstring
sempre detecta como ISO-8859-*
.
Para UTF-16
, UTF-32
,
UCS2
e UCS4
, a detecção
de codificação sempre falhará.
Ao definir a ordem de detecção de codificação, true
é retornado em caso de sucesso ou false
em caso de falha.
Ao obter a ordem de detecção de codificação, um array ordenado das codificações é retornado.
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro encoding agora pode ser nulo.
|
Exemplo #1 Exemplos de mb_detect_order()
<?php
/* Definir ordem de detecção por lista enumerada */
mb_detect_order("eucjp-win,sjis-win,UTF-8");
/* Definir ordem de detecção por array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);
/* Exibir ordem de detecção atual */
echo implode(", ", mb_detect_order());
?>
Exemplo #2 Exemplo mostrando ordens de detecção inúteis
; 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