Jump to content


Photo

Problema Com Acentos No Mysql


  • Faça o login para participar
4 replies to this topic

#1 Xico - WCS Design

Xico - WCS Design

    Turista

  • Usuários
  • 26 posts
  • Sexo:Masculino
  • Localidade:São Carlos
  • Interesses:Desenvolvimento Web

Posted 06/06/2008, 18:09

Olá, estou fazendo um menu dinamico, super simples. Ele captura os dados do MySQL e monta o menu em uma lista não ordenada tratada com CSS. O problema é que ele não carrega os acentos como deveria e o menú fica assim:

<div id="menu">

	<ul>
		<li><a href="index.php?area=home">home</a></li>
		<li><a href="index.php?area=estudio">o est�dio</a></li>
		<li><a href="index.php?area=servicos">servi�os</a></li>
		<li><a href="index.php?area=portfolio">portf�lio</a></li>
		<li><a href="index.php?area=hosting">WCS hosting</a></li>
		<li><a href="index.php?area=parcerias">parcerias</a></li>
		<li><a href="index.php?area=clientes">clientes</a></li>
		<li><a href="index.php?area=artigos">artigos</a></li>
		<li><a href="index.php?area=downloads">downloads</a></li>
		<li><a href="index.php?area=projeto">seu projeto</a></li>
		<li><a href="index.php?area=contato">contato</a></li>

	</ul>
</div>

Na visualização no phpMyAdmin fica perfeito, ou seja, com os acentos normais. Vejam:

Posted Image

O código PHP para consulta no MySQL é:

<div id="menu">
	<ul>
<?
$exec_menu = mysql_query("SELECT * FROM menu",$db);
while($item_menu = mysql_fetch_array($exec_menu)){
?>
		<li><a href="index.php?area=<?= $item_menu['classe'] ?>"><? echo $item_menu['titulo']?></a></li>
<?
}
?>
	</ul>
</div>

Viram? Bem simples. Está funcionando perfeitamente, não fosse o problema com os acentos.

Como posso resolver? Mudando o collation da tabela? Ou do "Banco de Dados" todo? Qual seria o collation ideal para português-br?
Muito obrigado desde já.
"Triste não é mudar de idéia. Triste é não ter idéia para mudar." - Idéia é tudo!

#2 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 06/06/2008, 20:56

Pra evitar problemas eu já uso htmlentities() na hora de mostrar os dados que pego do banco...

#3 Xico - WCS Design

Xico - WCS Design

    Turista

  • Usuários
  • 26 posts
  • Sexo:Masculino
  • Localidade:São Carlos
  • Interesses:Desenvolvimento Web

Posted 07/06/2008, 19:55

Eu usei o Charset Europeu Central(ISO) no dream e deu certo... Mas vou começar a usar o htmlentities() tbm... pode me dar uma mão no momento de capturar os dados... Só me responde uma coisa... pra jogar pro db novamente eu preciso usar o html_entity_decode()? Ou posso jogar normalmente? No caso de um form de edição... Valew rapah...

Edição feita por: Xico - WCS Design, 07/06/2008, 19:57.

"Triste não é mudar de idéia. Triste é não ter idéia para mudar." - Idéia é tudo!

#4 boirock

boirock

    Tecnologia para todos (agora hexa campeão)

  • Usuários
  • 1559 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR
  • Interesses:PostgreSQL - PHP

Posted 07/06/2008, 21:25

Pode fazer das duas formas!
Só que se gravar codificado e for fazer uma pesquisa, terá que passar o valor com htmlentities tbm!
Cada caso é um caso, mas pode ser feito dos dois jeitos.

Edição feita por: boirock, 09/06/2008, 18:27.


#5 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 08/06/2008, 12:12

O mais adequado ao meu ver, seria os documentos terem charset=utf-8 e o bd todo ser utf8-unicode(ci)

Não poderá assim usar café por exemplo e sim deverá digitar sempre caf&eacute; de outra forma vai dar erro.

Bom... só dei a sugestão de uma fora que eu faço sempre... mas ...

;)Até mais




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq