(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_detect_order — Define ou 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
/* Define ordem de detecção por lista enumerada */
mb_detect_order("eucjp-win,sjis-win,UTF-8");
/* Define ordem de detecção por array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);
/* Exibe ordem de detecção atual */
echo implode(", ", mb_detect_order());
?>
Exemplo #2 Exemplo mostrando ordens de detecção inúteis
; Sempre detecta como ISO-8859-1 detect_order = ISO-8859-1, UTF-8 ; Sempre detecta como UTF-8, porque os valores ASCII/UTF-7 são ; válidos para UTF-8 detect_order = UTF-8, ASCII, UTF-7