Eduardo Rissao Postado Março 28, 2015 Compartilhar Postado Março 28, 2015 Olá, Depois de transferir meu site para a nova hospedagem, começou a me aparecer problemas na acentuação em alguns lugares do site. Estava configurado da seguinte forma: No código php (junto com o html) do site, o charset estava iso-8859-1, e no banco de dados do site estava no uf8_unicode_ci, porem em cada tabela estava o latin1_sweddish_ci Teoricamente, era para estar tudo correto, mas não estava. Então mudei o charset no código para utf-8, e arrumou uma parte. Porem na descrição da aba deu erro no acento, e tive que colocar aqueles códigos html para acentos. Entretanto, quando eu coloco o link dele no facebook, fica bugado, veja: http://prntscr.com/6mdyxv O que eu faço? Atenciosamente, Eduardo Rissão 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
AntonioDuarte Postado Março 28, 2015 Compartilhar Postado Março 28, 2015 No arquivo que faz a conexão com o banco, tente usar: mysql_set_charset('latin1',$conexao); substitua $conexao pela nome da sua string de conexão. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Eduardo Rissao Postado Março 28, 2015 Autor Compartilhar Postado Março 28, 2015 No arquivo que faz a conexão com o banco, tente usar: mysql_set_charset('latin1',$conexao); substitua $conexao pela nome da sua string de conexão. Mas o próprio banco de dados está enviando o charset Veja, fiz algumas mudanças e deixei o site todo em charset iso-8859-1 e o banco de dados em latin1_swedish_ci. O rodapé, por exemplo, está normal (mesmo não sendo pego do banco de dados). Já o http://prntscr.com/6meg8qestá. O que será que é isso...? 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
AntonioDuarte Postado Março 28, 2015 Compartilhar Postado Março 28, 2015 As funções abaixo define o conjunto de caracteres para a conexão atual (convertendo como está no banco de dados). Exemplos: mysql_set_charset('latin1',$conexao); mysql_set_charset('utf8',$link); ou conexão MySQLi: mysqli_set_charset('latin1',$conexao); mysqli_set_charset('utf8',$conexao); Esse problema geralmente ocorre quando você importa as tabelas para um novo banco que está com o chaset diferente do antigo. Se você acessar as tabelas diretamente no banco, também é visualizado o texto com essas modificações nos caracteres? Caso esteja com as modificações de caracteres no texto direto no banco, você pode também refazer a importação do banco. No novo banco, modifique o charset para o mesmo do banco antigo antes de importar. 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Anger Postado Março 28, 2015 Compartilhar Postado Março 28, 2015 @Eduardo Rissao Todos os textos do seu site são puxados pelo banco de dados? 0 Citar Ajude o fórum! Antes de postar, leiam as regras de postagem aqui. Link para o comentário Compartilhar em outros sites More sharing options...
Michael Postado Março 28, 2015 Compartilhar Postado Março 28, 2015 abra o arquivo de conexão com o banco por exemplo conexao.php e lá entre <?php e ?> coloque este código que garanto que vai arrumar: header('Content-Type: text/html; charset=utf-8'); mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Eduardo Rissao Postado Março 28, 2015 Autor Compartilhar Postado Março 28, 2015 abra o arquivo de conexão com o banco por exemplo conexao.php e lá entre <?php e ?> coloque este código que garanto que vai arrumar: header('Content-Type: text/html; charset=utf-8'); mysql_query("SET NAMES 'utf8'"); mysql_query('SET character_set_connection=utf8'); mysql_query('SET character_set_client=utf8'); mysql_query('SET character_set_results=utf8'); Sim, agora arrumou a parte que estava com defeito, mas bugou as outras, veja: http://prntscr.com/6mjbjp Atenciosamente, Eduardo Rissão 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Eduardo Rissao Postado Março 28, 2015 Autor Compartilhar Postado Março 28, 2015 @Eduardo Rissao Todos os textos do seu site são puxados pelo banco de dados? Não, nem todos. Na página inicial, somente o que está com problema mesmo. Isso e as fotos, na galeria. Segue o código da index: <? session_start(); require_once "icontrol/_lib/icontrol.php"; require_once "icontrol/_lib/icontrol.pontualweb.php"; require_once "icontrol/_lib/conndb.php"; require_once "icontrol/_lib/functions.php"; ?> <!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="keywords" content="moveis, marcenaria, cozinhas, armarios, planejados"> <meta name="description" content="A GR Móveis Planejados é atualmente uma das principais fabricantes de móveis planejados do interior paulista. Com equipamentos de última geração e tecnologia de ponta, a GR utiliza materiais que atendem aos mais exigentes padrões de qualidade do mercado, prezando por um acabamento impecável!"> <title>GR Móveis Planejados</title> <link href="estrutura.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> </head> <body> <div class="topo"><img src="imagens/logo.jpg" width="984" height="199" /></div> <div class="menu" align="center"> <? include("menu.php"); ?> </div> <div class="banner1"> <? include('banner.php'); ?> <br /> <? $sqlHome = "select * from imovel where imoInterna = 'S' order by imoCodigo desc limit 2"; $qryHome = mysql_query($sqlHome); ?> <div style="width:954px; margin:auto;"> <ul style="list-style:none; padding:0px; margin:0;"> <? while ($itens = mysql_fetch_assoc($qryHome)) { ?> <li style="display:inline-block; background-image:url(imagens/sombraHome.png); width:475px; height:277px; position:relative;"> <div style="height:25px; padding:10px; text-align:left; font:16px verdana; color:#FFF;"><a href="internas.php?cod=<?= $itens['imoCodigo']; ?>" style="text-decoration:none; font:16px verdana; color:#FFF;"><?= $itens['imoNome']; ?></a></div> <ul style="list-style:none; padding:0px 10px; margin:0;"> <? $sql = "select * from fotos where imoCodigo = {$itens['imoCodigo']} limit 1"; $qry = mysql_query($sql); while($apreFotoP = mysql_fetch_assoc($qry)) { $i++; if (vrfExtensao('imagem', 'web/imagens/produtos/site/miniaturas/', $apreFotoP['imoCodigo'] . '_' . $apreFotoP['fotCodigo']) == true) { $miniatura = $img; list($w, $h) = getimagesize($miniatura); $image_file = $miniatura; $targetfile = "maskara/maskara" . $apreFotoP['imoCodigo'].$apreFotoP['fotCodigo'] .".jpg"; $photo = imagecreatefromjpeg($image_file); $fotoW = 165; $fotoH = 165; $photoFrame = imagecreatetruecolor($fotoW,$fotoH); $dest_x = ($w - $fotoW) / 2; $dest_y = ($h - $fotoH) / 2; imagecopy($photoFrame, $photo, 0, 0, $dest_x, $dest_y, $fotoW, $fotoH); imagejpeg($photoFrame, $targetfile); ?> <li style="display:inline-block; width:170px;"><a href="internas.php?cod=<?= $itens['imoCodigo']; ?>"><img src='<?= $targetfile; ?>' border="0"/></a></li> <? unset($targetfile); } } ?> <li style="display:inline-block; width:280px; font:12px verdana; color:#FFF; vertical-align:top; text-align:left;"><a href="internas.php?cod=<?= $itens['imoCodigo']; ?>" style="text-decoration:none; font:12px verdana; color:#FFF;"><?= nl2br($itens['imoPre']); ?></a></li> </ul> </li> <? } ?> </ul> </div> </div> <div class="rodape"> <? include("rodape.php"); ?> <?php include_once("analyticstracking.php") ?> </div> </body> </html> As funções abaixo define o conjunto de caracteres para a conexão atual (convertendo como está no banco de dados). Exemplos: mysql_set_charset('latin1',$conexao); mysql_set_charset('utf8',$link); ou conexão MySQLi: mysqli_set_charset('latin1',$conexao); mysqli_set_charset('utf8',$conexao); Esse problema geralmente ocorre quando você importa as tabelas para um novo banco que está com o chaset diferente do antigo. Se você acessar as tabelas diretamente no banco, também é visualizado o texto com essas modificações nos caracteres? Caso esteja com as modificações de caracteres no texto direto no banco, você pode também refazer a importação do banco. No novo banco, modifique o charset para o mesmo do banco antigo antes de importar. Como o problema aparenta estar somente na tabela onde está esse texto, eu posso deleta-la e importa-la novamente (somente essa tabela)? Pois quando eu tempo importa sem deleta-la, aparece isso: http://prntscr.com/6mjgbm Atenciosamente, Eduardo Rissão 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Michael Postado Março 28, 2015 Compartilhar Postado Março 28, 2015 @Eduardo Rissao sim você pode deleta-la e importar novamente, sem fazer isso não vai ser possível importar mesmo a não ser que desse update, no mysql, mas é melhor excluir e importar... 0 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Anger Postado Março 28, 2015 Compartilhar Postado Março 28, 2015 Não, nem todos. Na página inicial, somente o que está com problema mesmo. Isso e as fotos, na galeria. Segue o código da index: <? session_start(); require_once "icontrol/_lib/icontrol.php"; require_once "icontrol/_lib/icontrol.pontualweb.php"; require_once "icontrol/_lib/conndb.php"; require_once "icontrol/_lib/functions.php"; ?> <!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"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="keywords" content="moveis, marcenaria, cozinhas, armarios, planejados"> <meta name="description" content="A GR Móveis Planejados é atualmente uma das principais fabricantes de móveis planejados do interior paulista. Com equipamentos de última geração e tecnologia de ponta, a GR utiliza materiais que atendem aos mais exigentes padrões de qualidade do mercado, prezando por um acabamento impecável!"> <title>GR Móveis Planejados</title> <link href="estrutura.css" rel="stylesheet" type="text/css" /> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> </head> <body> <div class="topo"><img src="imagens/logo.jpg" width="984" height="199" /></div> <div class="menu" align="center"> <? include("menu.php"); ?> </div> <div class="banner1"> <? include('banner.php'); ?> <br /> <? $sqlHome = "select * from imovel where imoInterna = 'S' order by imoCodigo desc limit 2"; $qryHome = mysql_query($sqlHome); ?> <div style="width:954px; margin:auto;"> <ul style="list-style:none; padding:0px; margin:0;"> <? while ($itens = mysql_fetch_assoc($qryHome)) { ?> <li style="display:inline-block; background-image:url(imagens/sombraHome.png); width:475px; height:277px; position:relative;"> <div style="height:25px; padding:10px; text-align:left; font:16px verdana; color:#FFF;"><a href="internas.php?cod=<?= $itens['imoCodigo']; ?>" style="text-decoration:none; font:16px verdana; color:#FFF;"><?= $itens['imoNome']; ?></a></div> <ul style="list-style:none; padding:0px 10px; margin:0;"> <? $sql = "select * from fotos where imoCodigo = {$itens['imoCodigo']} limit 1"; $qry = mysql_query($sql); while($apreFotoP = mysql_fetch_assoc($qry)) { $i++; if (vrfExtensao('imagem', 'web/imagens/produtos/site/miniaturas/', $apreFotoP['imoCodigo'] . '_' . $apreFotoP['fotCodigo']) == true) { $miniatura = $img; list($w, $h) = getimagesize($miniatura); $image_file = $miniatura; $targetfile = "maskara/maskara" . $apreFotoP['imoCodigo'].$apreFotoP['fotCodigo'] .".jpg"; $photo = imagecreatefromjpeg($image_file); $fotoW = 165; $fotoH = 165; $photoFrame = imagecreatetruecolor($fotoW,$fotoH); $dest_x = ($w - $fotoW) / 2; $dest_y = ($h - $fotoH) / 2; imagecopy($photoFrame, $photo, 0, 0, $dest_x, $dest_y, $fotoW, $fotoH); imagejpeg($photoFrame, $targetfile); ?> <li style="display:inline-block; width:170px;"><a href="internas.php?cod=<?= $itens['imoCodigo']; ?>"><img src='<?= $targetfile; ?>' border="0"/></a></li> <? unset($targetfile); } } ?> <li style="display:inline-block; width:280px; font:12px verdana; color:#FFF; vertical-align:top; text-align:left;"><a href="internas.php?cod=<?= $itens['imoCodigo']; ?>" style="text-decoration:none; font:12px verdana; color:#FFF;"><?= nl2br($itens['imoPre']); ?></a></li> </ul> </li> <? } ?> </ul> </div> </div> <div class="rodape"> <? include("rodape.php"); ?> <?php include_once("analyticstracking.php") ?> </div> </body> </html> Como o problema aparenta estar somente na tabela onde está esse texto, eu posso deleta-la e importa-la novamente (somente essa tabela)? Pois quando eu tempo importa sem deleta-la, aparece isso: http://prntscr.com/6mjgbm Atenciosamente, Eduardo Rissão Se o problema vem só nos textos que são puxados pelo banco de dados, realizar a função que o @Michael recomendou deve corrigir. Se outras partes estão com problemas, tente deletar e importar conforme comentaste. Caso não dê, pode ter problemas nas strings, tipo uma interferência, do seu site. 0 Citar Ajude o fórum! Antes de postar, leiam as regras de postagem aqui. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.