Problemas com Charset em PHP

Charset
Charset

Muitas vezes recebemos informação de algum banco de dados e/ou arquivo com um charset desconhecido, ou que não seja compatível com a interface de nossa aplicação.Utilizando as funções mb_convert_encoding e mb_detect_encoding (nativas do php) consegue-se identificar na maior parte dos casos e converter a stringpara o charset desejado, não prejudicando assim a exibição do texto.

O “grande truque” está na utilização da função mb_detect_encoding, que serve para identificar o charset recebido e, caso a função não consiga identificar, a mesma retornafalse.

Perante isso, definimos um default em caso de retorno false e passamos esses valores por parâmetro para função mb_convert_encoding que irá realizar a conversão:


    $str = "Função para verificação de charset";
    $detect = mb_detect_encoding($str);
    $charset = $detect === false ? 'UTF-8' : $detect;
    echo mb_convert_encoding($str, "ISO-8859-1", $charset);

Referências

Compartilhe

Você pode gostar...

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *