Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Codificação Latin-1 / UTF-8 php


Sua saída HTML precisa estar em uma única codificação, não há como contornar isso. Isso significa que o conteúdo em diferentes codificações precisa ser convertido primeiro para sua codificação HTML. Embora isso seja possível com iconv ou mb_convert_encoding , há dois problemas que você precisa resolver:
  1. Você precisa saber (ou adivinhar) a codificação atual do conteúdo
  2. Você precisa fazer isso manualmente, em qualquer lugar

Por exemplo, uma solução teórica seria escolher UTF-8 como sua codificação HTML e, em seguida, fazer isso para todas as strings que você produzirá:
$string = '...'; // from the database

// If it's not already UTF-8, convert to it
if (mb_detect_encoding($string, 'utf-8', true) === false) {
    $string = mb_convert_encoding($string, 'utf-8', 'iso-8859-1');
}

echo $string;

O código acima assume que o conteúdo não UTF-8 é codificado em latin-1, o que é razoável de acordo com sua pergunta.