PHP 8.6.0 Beta 1 is available for testing

mb_detect_order

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_detect_orderLee/modifica el orden de detección de codificaciones

Descripción

function mb_detect_order(array |string |null $encoding = null ): array |bool

Reemplaza el orden de detección de codificaciones actual por encoding.

Parámetros

encoding

encoding es un array, o una lista de codificaciones separadas por comas. Ver las codificaciones soportadas.

Si encoding es omitido o null , mb_detect_order() devuelve el orden de detección de codificaciones actual en un array.

Esta configuración afecta a las funciones mb_detect_encoding() y mb_send_mail() .

Actualmente, mbstring soporta los siguientes filtros de detección. Si una secuencia de bytes es inválida para uno de los siguientes filtros, la detección fallará.

UTF-8, UTF-7, ASCII, EUC-JP,SJIS, eucJP-win, SJIS-win, JIS, ISO-2022-JP

Para ISO-8859-*, mbstring siempre detecta ISO-8859-*.

Para UTF-16, UTF-32, UCS2 y UCS4 la detección siempre fallará.

Valores devueltos

Al definir el orden de detección de codificación, true es devuelto en caso de éxito o false en caso de fallo.

Al obtener el orden de detección de codificación, un array ordenado de codificaciones es devuelto.

Historial de cambios

Versión Descripción
8.0.0 encoding ahora acepta null .

Ejemplos

Ejemplo #1 Ejemplo con mb_detect_order()

<?php
/* Reemplaza el orden de detección por una lista enumerada */
mb_detect_order("eucjp-win,sjis-win,UTF-8");
/* Reemplaza el orden de detección por un array */
$ary[] = "ASCII";
$ary[] = "JIS";
$ary[] = "EUC-JP";
mb_detect_order($ary);
/* Muestra el orden de detección actual */
echo implode(", ", mb_detect_order());
?>

Ejemplo #2 Ejemplo de orden de detección innecesario

; Siempre detectado como ISO-8859-1
detect_order = ISO-8859-1, UTF-8
; Siempre detectado como UTF-8, desde que los valores ASCII/UTF-7
; son válidos para UTF-8
detect_order = UTF-8, ASCII, UTF-7

Véase también

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes 1 note

up
1
Anonymous
2 years ago
Perhaps obvious to most everyone, but the 
default filter list was shorter than I expected:
['ASCII','UTF-8'], in that order.
c. 2024, 60% of websites globally declared charset 'UTF-8'
So if you're experimenting with multibyte encodings other than UTF-8, you have to specify your detect_order, choosing from the list of implemented filters.
+add a note

AltStyle によって変換されたページ (->オリジナル) /