Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

mzaidan

Ler em UTF8

Recommended Posts

Prezados, como eu puxo uma palavra no banco que está assim:

inglês

 

E na hora de morar o texto, mostro

Inglês

 

Em um index meu já mostrou normal, sem eu precisar fazer nada.

Mas, na versão mobile (outro arquivo) não ta mostrando.

 

Ambos os arquivos foram salvos em Utf8

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sua aplicação deve estar TODA em utf-8

Assim não terá esse problema

 

Veja:

http://rberaldo.com.br/problemas-com-codificacao-acentos-nao-interpretados/

 

Uma solução para remover caracteres não-UTF-8:

http://stackoverflow.com/a/1401716/1233120

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu, usei a função:

<?
FUNCTION RemoveBS($Str) {  
  $StrArr = STR_SPLIT($Str); $NewStr = '';
  FOREACH ($StrArr AS $Char) {    
    $CharNo = ORD($Char);
    IF ($CharNo == 163) { $NewStr .= $Char; CONTINUE; } // keep £ 
    IF ($CharNo > 31 && $CharNo < 127) {
      $NewStr .= $Char;    
    }
  }  
  RETURN $NewStr;
}
echo RemoveBS('Hello õhowå åare youÆ?'); // Hello how are you?
?>

Deu quase certo.

Quase, pois ele não mostra os acentos.

 

Vou fuçar mais, aqui.

Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou definir o charset quando pega o dado no banco de dados? Pelo mysqli:

$con = mysqli_connect("host", "usuario", "senha", "banco");

// Define o charset como uft8
mysqli_set_charset($con, "utf8");

e pelo PDO:

new PDO("mysql:host=host;dbname=nome;charset=utf8", "usuario", "senha");

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.