Ce face mb_detect_order
Când mb_detect_encoding este apelată fără listă de codări, folosește lista stabilită cu mb_detect_order. Implicit, lista este ASCII, UTF-8.
Poți da lista ca tablou sau ca text separat prin virgulă. Ordinea contează: prima codare potrivită câștigă.
Parametri
| Parametru | Descriere |
|---|---|
$encoding |
Opțional. Lista nouă de codări. |
Ce returnează
Lista curentă (fără parametru) sau true după setare.
Exemple
Exemplul 1: Lista implicită și una pentru texte românești vechi
<?php
print_r(mb_detect_order());
mb_detect_order(["ASCII", "UTF-8", "ISO-8859-16"]);
echo implode(", ", mb_detect_order()) . "\n";
echo mb_detect_encoding("\xBAi");
Rezultat
Array
(
[0] => ASCII
[1] => UTF-8
)
ASCII, UTF-8, ISO-8859-16
ISO-8859-16
Greșeli frecvente
- Pui o codare de un octet (de exemplu ISO-8859-16) înaintea lui UTF-8. Aproape orice text este valid într-o astfel de codare, deci detectarea nu mai ajunge niciodată la UTF-8.
Comenzi înrudite
mb_detect_encoding: Încearcă să ghicească în ce codare de caractere este scris un text.mb_list_encodings: Returnează lista tuturor codărilor de caractere acceptate de mbstring.