Ir para conteúdo

POWERED BY:

Arquivado

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

lordlex

[Resolvido] problema com acento

Recommended Posts

ola amigos do forum tudo beleza seguinte em uma enquete estou tendo um problema, qnd puiz uma pergunta e respostas q contem acentos aparecem caracteres malucos na palavras a pergunta e respostas vem do bd segue uma foto de como fica :

 

http://img16.imageshack.us/i/errooo.jpg/

 

 

oq pode ser o problema?sera ta vindo errado do bd ?poq esta com a charset certo.

 

codigo da pagina q mostra a enquete:

<!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=utf-8"/>
<title>Untitled Document</title>
</head>
<?php
include "enquete/config.php";

$sql = mysql_query("SELECT * FROM enquete WHERE status = 'desbloqueado'");
while($linha = mysql_fetch_array($sql)){
		$pergunta = $linha['pergunta'];
		$op1 = $linha['op1'];
		$op2 = $linha['op2'];
		$op3 = $linha['op3'];
		$id = $linha['id'];
	}
?>
<body>
<form id="form1" name="form1" method="post" action="funcoes.php?id=<?php echo $id ?>">
  <p style="color:#FFFFFF; font-size:14px;"> <strong><?php echo $pergunta ?></strong></p>
  <p style="color:#FFFFFF;font-size:12px;">
    <input type="radio" name="opcao" id="radio" value="1" />
    <?php echo $op1 ?><br />
    <input type="radio" name="opcao" id="radio2" value="2" />
    <?php echo $op2 ?><br />
    <input type="radio" name="opcao" id="radio3" value="3" />
  <?php echo $op3 ?></p>
  <p>
    <input type="submit" name="button" id="button" value="Votar" />
  </p>
  <p><a href="enquete/resultados.php?id=<?php echo $id ?>">Resultados</a></p>
</form>
</body>
</html>

vlw ajuda pessoal

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só conflito de codificações

 

pesquise por "collation" ou "codificação", que você encontrará diversos tópicos sobre isso

 

 

Você apenas precisa manter a mesma codificação em tudo: mata tag, codificação do DB e codificação do arquivo (definido no editor de texto)

Compartilhar este post


Link para o post
Compartilhar em outros sites

é só conflito de codificações

 

pesquise por "collation" ou "codificação", que você encontrará diversos tópicos sobre isso

 

 

Você apenas precisa manter a mesma codificação em tudo: mata tag, codificação do DB e codificação do arquivo (definido no editor de texto)

 

beleza vlw ajuda amigo Beraldo ja tinha tentado modificar o colation do bd mais sem sucesso deu uma olhada la como disse e vi alguns topicos relacionados vou tentar novamente vlw a força http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sempre tive esses problemas de acentos tbm , como foi dito é um problema de codificação, eu resolvi este problema "filtrando" os dados vindo do banco, talves isso te ajude de alguma forma

tenta ai

echo utf8_decode($variavel_do_banco);
//ou
echo utf8_encode($variavel_do_banco);
verifique ai se alguma das opções funciona pra você.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá lordlex,

você pode trocar isso:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
por isso:

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

utf-8 sempre deu problema aqui comigo, o iso-8859-1 pode ter certesa que não vai.

 

Abraços.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema não é o UTF ou o ISO, é a falta de padrão. Eu sempre tive problema com o ISO, passei a adotar o UTF e nunca mais tive problema, nem precisei utilizar htmlentities.

O que normalmente ocorre, para quem utiliza o Dreamweaver, é que o editor não está setado para salvar os arquivos na mesma formatação (o Dreamweaver salva os arquivos como ISO, a não ser que tenha alguma tag header em UTF). Aí, o que acontece, é assim... Por exemplo, você cria um arquivo para conectar ao banco de dados, e utiliza ele como include. Aí neste arquivo tem algo assim.

<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password') or die('Não conectado');
$db_selected = mysql_select_db('foo', $link) or die('Não selecionou o BD');
?>

Este arquivo vai ficar salvo como ISO (se você utiliza o Dreamweaver). Aí, se o seu projeto utilizar UTF, pronto... Já vai dar problema nos arquivos com assento.

Então, em resumo, o mais importante é manter o mesmo padrão para:

  • Editor de texto
  • Meta Tags dos arquivos
  • Collation e Charset do Banco de dados

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

vlw a força pessoal so muito grato pela ajuda de voces http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

 

jpraminelli

tentei usar o codigo q você mensionou mas nao consegui mas obrigado pela ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Alan Alisson

 

brigadao pela ajuda o codigo q você passou funcionou perfeito muito show como era include q chamava a pagina q mostra a enquete esqueci de colocar o codigo na pagina q mostrava ela aew nao funcionava http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif mas depois q caiu a ficha e coloquei o charset na pagina principal deu certinho vlw http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Matias Rezende vlw ajuda nao sabia q o dreanweaver nao colocava o charset como utf 8 e sim como iso mas testei trocentas vezes com charset utf 8 trocando no bd com todos em utf 8 e nao funcionava muito estranho com o codigo do Alan em iso deu certo o padrao e o utf 8 somente puro? pq tem utf 8 bin utf8 unicode_ci e utf8 general_ci la no mysql pra escolher.

 

obrigado pela ajuda galera vlw http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora teve outro problema nao tinha percebido http://forum.imasters.com.br/public/style_emoticons/default/cry.gif qnd mudei para o

<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />

aew da problema no resto do site todo <_< fica bugado os acentos mas a enquete q vem do bd fica beleza eita http://forum.imasters.com.br/public/style_emoticons/default/cry.gif essa enquete vem por include pro index se eu nao por o iso na pagna principal nao da certo fica bugado a enquete se eu por buga o resto do site http://forum.imasters.com.br/public/style_emoticons/default/cry.gif tem q por tudo em utf-8

 

 

vlw galera http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gente, eu estou usando tudo padronizado.. HTML, PHP e o Mysql com o mesmo collation.

Porém, ao inserir no banco de dados, os acentos vao com ? no lugar dos caracteres especiais.

Isso não acontece em nenhuma outra página.

Pode ser a codificação do arquivo? tem como alterar?

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq qnd coloquei a include puxando a pagina q mostra a enquete com o charset q deu certo q o Alan passou do iso pra pq ele pega o charset do index qnd mostra sendo q ela tem seu proprio charset?

 

uma imagem de como esta o charset do bd enquete ta como latin_swedish :unsure:

 

mas o bd todo esta como utf 8 mas nao sei se e o utf bin utf_unicode ou utf_general http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

 

foto:

 

http://img195.imageshack.us/i/tblenqt.jpg/

foto2

http://img18.imageshack.us/i/imgtabela1.gif/

 

 

vlw galera http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pelo que eu analisei... me corrigem se eu estiver errado.

 

1º - Na tabela enquete está latin1_swedish_ci e no campo pergunta está utf_unicode_ci, tente deixar isso igual.

 

Não deu certo?

2º - no dreamweaver é assim se você colocar o charset com iso-8859-1 quando você digita um "é" com acento no modo de visualização "design" ele fica normal "é" mas quando você olha no modo "code" olha como ele está, "é"

é isso que causa o conflito quando mudamos ele do nada para utf-8...

 

Por quê?

quando você digita o seu texto todo do seu site em utf-8, no código fonte aparece o "é" como "é" e no iso-8859-1 o "é" aparece como "é" então se você digita todo seu site em iso-8859-1 e de repente muda ele para utf-8 o

utf-8 não vai conseguir ler o código "é" como a letra "é" é como se você mudase a extensão de um arquivo ajax.js para ajax.php.

OBS:

quando você cria o documento e ele já vem setado como "iso" ou "utf" no dreamweaver você não terá como mudá-lo (foi o que meu teste deu aqui)

 

Meu conselho

teste padronizar no de tipo de caractere (iso ou utf) que você ver que não apresenta erro com o tipo de caractere que você tem nas suas tabelas que no caso é latin1_swedish_ci, mas padronize tudo, principalmente o formulario que você vai enviar as perguntas e alternativas (se existir) e a pagina que vai exibir...

 

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom pelo que eu analisei... me corrigem se eu estiver errado.

 

1º - Na tabela enquete está latin1_swedish_ci e no campo pergunta está utf_unicode_ci, tente deixar isso igual.

 

Não deu certo?

2º - no dreamweaver é assim se você colocar o charset com iso-8859-1 quando você digita um "é" com acento no modo de visualização "design" ele fica normal "é" mas quando você olha no modo "code" olha como ele está, "é"

é isso que causa o conflito quando mudamos ele do nada para utf-8...

 

Por quê?

quando você digita o seu texto todo do seu site em utf-8, no código fonte aparece o "é" como "é" e no iso-8859-1 o "é" aparece como "é" então se você digita todo seu site em iso-8859-1 e de repente muda ele para utf-8 o

utf-8 não vai conseguir ler o código "é" como a letra "é" é como se você mudase a extensão de um arquivo ajax.js para ajax.php.

OBS:

quando você cria o documento e ele já vem setado como "iso" ou "utf" no dreamweaver você não terá como mudá-lo (foi o que meu teste deu aqui)

 

Meu conselho

teste padronizar no de tipo de caractere (iso ou utf) que você ver que não apresenta erro com o tipo de caractere que você tem nas suas tabelas que no caso é latin1_swedish_ci, mas padronize tudo, principalmente o formulario que você vai enviar as perguntas e alternativas (se existir) e a pagina que vai exibir...

 

 

Abraços!

 

vlw a força amigo Alan ja tentei creio eu colocar tudo padrao todas as paginas estao em utf-8 se nao me engano pq qnd se cria um novo arquivo no dream em php ele ja vem com utf8 creio q o problemao e por causa do bd mesmo tenho q colocar tudo num modo so ne vou tentar de novo ja refiz ele varias vezes hehe pra testar to coloando as perguntas e respostas direto no phpmyadm sera q e por causa disso pq nao estou enviando via formulario? vlw ajuda http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra testar to coloando as perguntas e respostas direto no phpmyadm sera q e por causa disso pq nao estou enviando via formulario?

 

É por isto. O PhpMyAdmin utiliza ISO. Se você está usando UTF no BD, vai dar problema. Faça a inserção dos dados via aplicação.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

pra testar to coloando as perguntas e respostas direto no phpmyadm sera q e por causa disso pq nao estou enviando via formulario?

 

É por isto. O PhpMyAdmin utiliza ISO. Se você está usando UTF no BD, vai dar problema. Faça a inserção dos dados via aplicação.

 

Carlos Eduardo

 

a ok vlw ajuda amigo Matias vou testar

Compartilhar este post


Link para o post
Compartilhar em outros sites

galera nota 10 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif vlw a ajuda agora parece q deu certo pq eu tava colocando direto no phpmyadm tava dano problema mas enviando por formulario parece q agora funcionou 100% http://forum.imasters.com.br/public/style_emoticons/default/joia.gif ta dano outro problema q ele nao ta axando uma pagina do action qnd vota q esta na mesma pasta :o mas isso e outra coisa hehe pq tava funcionando mas vou verificar aqui ja os caracteres parece q ficou joia

 

brigadão o pessoal q ajudou vlw http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

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.