Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera preciso de ajuda,
Terminei um site, mas no título dos anúncios os caracteres ç, ã, estão saindo em forma de quadrado ou um ponto de interrogação. Mudei a codificação, mas não resolveu.
Instalei o Wordpress, imagino q pode ser alguma coisa no tema.
Vejam o site: www.guie.com.br
Dei uma olhada e me Lembrei que tive esse mesmo problema com meu sistema uma vez!
Eu resolvi da seguinte maneira:
Abri o documento PHP com o bloco de NOTAS cliquei em ARQUIVO/SALVAR COMO/e coloquei no campo NOME o nome do arquivo (no meu caso é index) extenção .php, em baixo desse campo no campo TIPO selecione TODOS OS ARQUIVOS, em baixo desse campo no campo CODIFICAÇÃO selecione ANSI.
Isso resolveu meu problema!
Espero ter ajudado!
Como foi dito, é um problema de codificação mesmo, mas nada complexo, se não tiver como mudar a codificação do site, pois pode afetar outra páginas, tente codificar com o PHP mesmo, assim:
Caso apareça as interrogações, dentro dos losangos, coloque nos títulos: utf8_encode($titulo);
Caso apareça uns códigos esquisitos coloque nos títulos: utf8_decode($titulo);
Espero ter ajudado
Abs
Cara geralmente uso esse aqui e da tudo certo ... mesmo vindo e indo para o BD
... se nao conhece muito .. coloca isso no top da pagina no modo codigo é claro ^^
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="[http://www.w3.org/1999/xhtml">](http://www.w3.org/1999/xhtml)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>Kra, tenho 2 funcoes que resolveram meus problemas com codificacao!!!
function toUTF8( $o ) {
if(is_string($o)) {
$o = utf8_encode($o);
return $o;
}
if(is_array($o)) {
foreach($o as $k=>$v) {
$o[$k] = toUTF8($o[$k]);
}
return $o;
}
if(is_object($o)) {
$l = get_object_vars($o);
foreach($l as $k=>$v) {
$o->$k = toUTF8( $v );
}
}
return $o;
}
function fromUTF8( $o ) {
if(is_string($o)) {
$o = utf8_decode($o);
return $o;
}
if(is_array($o)) {
foreach($o as $k=>$v) {
$o[$k] = fromUTF8($o[$k]);
}
return $o;
}
if(is_object($o)) {
$l = get_object_vars($o);
foreach($l as $k=>$v) {
$o->$k = fromUTF8( $v );
}
}
return $o;
}
use ela na hora de escrever na página, fazer consulta no banco de dados... em tudo!
EX:
echo fromUTF8($texto);
Amigo, aparentemente ele esta perfeito para mim (usuario linux)
O que nos geralmente sofremos em programar em ambientes linux é com os CHARSETS..
dando um panorama bem simples:
Windows trabalha com o charset em iso-8859-1 ou windows-1251 e nos no linux UTF-8
Bom, nao sei que tipo de ambiente voce esta usando mas se for windows provavelmente seu site esta hospedado em um servidor linux... dai a inconpatibilidade dos charsets... o que eu aconseglho para voce fazer é alterar os caracteres especiais por caracteres HTML
EXEMPLO:
DE: Publicação
PARA: Publicação
abraços!