mb_convert_encoding
(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_convert_encoding — Converte uma string de uma codificação de caracteres para outra
Descrição
$string
, string $to_encoding
, array|string|null $from_encoding
= null
): array|string|false
Converte string
de from_encoding
,
ou a codificação interna atual, para to_encoding
.
Se string
for um array, todos os seus valores string serão
convertidos recursivamente.
Parâmetros
string
to_encoding
-
A codificação desejada para o resultado.
from_encoding
-
A codificação atual usada para interpretar
string
. Múltiplas codificações podem ser especificadas como um array ou uma lista separada por vírgulas, nesse caso, a codificação correta será detectada usando o mesmo algoritmo que mb_detect_encoding().Se
from_encoding
for omitida ounull
, a configuração mbstring.internal_encoding será usada se definida, caso contrário, a configuração default_charset.Consulte codificações suportadas para os valores válidos de
to_encoding
efrom_encoding
.
Erros/Exceções
A partir do PHP 8.0.0, um ValueError é lançado se o
valor de to_encoding
ou
from_encoding
for uma codificação inválida.
Antes do PHP 8.0.0, um E_WARNING
era emitido.
Registro de Alterações
Versão | Descrição |
---|---|
8.2.0 |
mb_convert_encoding() não retornará mais
as seguintes codificações não textuais:
"Base64" , "QPrint" ,
"UUencode" , "HTML entities" ,
"7 bit" e "8 bit" .
|
8.0.0 |
mb_convert_encoding() agora lançará um
ValueError quando
to_encoding receber uma codificação inválida.
|
8.0.0 |
mb_convert_encoding() agora lançará um
ValueError quando
from_encoding receber uma codificação inválida.
|
8.0.0 |
from_encoding agora é anulável.
|
7.2.0 |
Esta função agora aceita um array como string .
Anteriormente, apenas strings eram suportadas.
|
Exemplos
Example #1 Exemplo de mb_convert_encoding()
<?php
/* Converte a codificação interna para SJIS */
$str = mb_convert_encoding($str, "SJIS");
/* Converte EUC-JP para UTF-7 */
$str = mb_convert_encoding($str, "UTF-7", "EUC-JP");
/* Detecta automaticamente a codificação a partir de JIS, eucjp-win, sjis-win, e converte str para UCS-2LE */
$str = mb_convert_encoding($str, "UCS-2LE", "JIS, eucjp-win, sjis-win");
/* Se mbstring.language for "Japanese", "auto" é expandido para "ASCII,JIS,UTF-8,EUC-JP,SJIS" */
$str = mb_convert_encoding($str, "EUC-JP", "auto");
?>
Veja Também
- mb_detect_order() - Define/Obtém a ordem de detecção de codificação de caracteres
- UConverter::transcode() - Converte uma string de uma codificação de caracteres para outra
- iconv() - Converte uma string de uma codificação de caracteres para outra