Ir para conteúdo

Arquivado

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

dfrashh

[Resolvido] Problemas com acentuação no MySQL

Recommended Posts

Olá preciso de help com a acentuação no BD.

 

Andei lendo uns posts tanto aki no forum da IMasters como outros e ainda naum achei uma solução...

Então vamos ao problema qnd eu insiro um nome com acento no meu BD (MySQL) ele entra no BD assim

 

"ééééé" traduzindo => "ééééé"

 

Tentei usar as formas que o micox postou funciona so pra visualizar na pagina Post El micox

 

tambem olhei varios outros exemplos tbm tentei usar o urlencode(); naum deu certo

 

Por favor ajudem

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tive problemas com isso também. Eu resolvi padronizando todo o meu arsenal de desenvolvimento para utf-8. Desde a declaração xml encoding do meu xhtml, passando pela codificação na hora de salvar o arquivo, até a codificação das tabelas. Está tudo utf-8.

 

No windows isso é meio complicado de fazer, pois nem todos editores te dão a opção de escolha da codificação.

 

Mas o problema com o MySQL você pode tentar resolver com algo assim:

 

ALTER TABLE table_name DEFAULT CHARACTER SET UTF-8;

Bom, acho que isso resolve!

 

inté

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tive problemas com isso também. Eu resolvi padronizando todo o meu arsenal de desenvolvimento para utf-8. Desde a declaração xml encoding do meu xhtml, passando pela codificação na hora de salvar o arquivo, até a codificação das tabelas. Está tudo utf-8.No windows isso é meio complicado de fazer, pois nem todos editores te dão a opção de escolha da codificação.Mas o problema com o MySQL você pode tentar resolver com algo assim:

ALTER TABLE table_name DEFAULT CHARACTER SET UTF-8;
Bom, acho que isso resolve!inté
Tentei fazer fazer essas duas coisas achei meio estranho até começei do zero de novo passando tudo para UTF-8 coloquei até a alma do meu mini sistema em UTF-8 e não resolvel ainda to procurando resposta se eu encotrar vou postar aki to apanhando igual nenêm http://forum.imasters.com.br/public/style_emoticons/default/upset.gif

Como os caracteres vem por utf-8 voce pode tentar:$titulo=utf8_decode($_POST['titulo']) se for php antes de gravar na base de dados

Essa foi umas das minhas primeiras tentativas tentei fazer algo assim pq vi no php.net acabei de testar da forma que você colocou so mudou o tipo de caracter mas continuou a msm coisa to qse pirando aki...O pior não é isso é que eu parei pra observar os erros qnd eu estava qse terminando a pagina... falta de experiencia da nisso... agora tenho q resolver esse empasse

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o seu Banco de dados não suportar ou não estiver configurado para o ISO-5559-1 minha solução não irá funcionar.Então voce terá de fazer a codificação sugerida pelo pessoal aí.//Só pra relembrar, a solução que eu postei é para a RECEPÇÃO dos dados e não para o ENVIO. Para o envio, conforme eu falo no meu post, a solução é usar urlencode e afins.Té mais...

Compartilhar este post


Link para o post
Compartilhar em outros sites

e se for em asp como eu faço para poder gravar com acentos???

Compartilhar este post


Link para o post
Compartilhar em outros sites

aproveitando o tópico! ehehetenho utilizado o url_encode p/ envio e tem funcionado perfeitamente, p/ retorno utilizo os exemplos do micox.Mas, até agora só o Netscape 7.1 retorna a acentuação toda estranha... não entendi pq...Opera, firefox, netscape 8, IE, todos estão funcionando perfeitamente... o.Oalguem sabe como resolver?utilizo JSP, JAVA.vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vicente,em todas as páginas utilizo include, e neste include a primeira linha é o:

<%@ page contentType="text/html; charset=iso-8859-1" %>

E daí utilizo o url_encode p/ cada parâmetro que será utilizado:

ajaxGet('admin?TRATADOR=TGrupoAba&TIPO=1&PGRUPO=' + url_encode(pgrupo))

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilizei a configuração informado do ISO nas página que desenvolvo utilizando o PHP mesmo... tentei algumas con utf-8 mais não deu certo... tudo ficou direito quanto troquei para o iso informado anteriormente....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal ralei muito pra conseguir a interação perfeita entre

minha aplicação php e MySql mas com ajuda de vocês consegui. A no meus testes fui criando um relatório de erros e acertosvou disponibilizar aqui.

 

ACENTOS BANCO DE DADOS

 

Servidor: centoes

Editor Html: Dreanwever 8.0

Linguagem PhP: 5.0

Banco de Dados: MySql 5.0

Linguagem PHPww

 

TESTE NUMERO 01

 

CHARSET da pagina iso-8859-1

 

* foi criada uma DATABASE/TABELA com charset latim 1 e collation latim1_swedish_ci

as informações foram exibidas no browser sem nenhum problema de acentuação mas no banco ja ocorreu problemas com acentuação

 

TESTE NUMERO 02

 

CHARSET da pagina utf-8

 

* foi criada uma DATABASE/TABELA com charset utf8 e collation utf8_general_ci

as informações foram exibidas no browser sem nenhum problema de acentuação mas no banco ja ocorreu problemas com acentuação

 

TESTE NUMERO 03

 

* no terceiro teste consegui inserir acentuação no DB sem problema e o retorno da informação foi perfeito também no browser

para isso utilizei duas funções do php

 

* utf8_decode() que converte uma string codificada em UTF-8 para ISO-8859-1

* htmlentities() que converte todos os html áplicaveis para entidades html

 

exemplo:

para inserir no banco

 

$testo =utf8_decode( $_POST['testo']);

 

$sql = ("INSERT INTO tbl_latim (testo) VALUES ('$testo')");

mysql_query($sql) or die (mysql_error());

 

para exbir

 

$query = mysql_query("SELECT * FROM tbl_latim");

while($array = mysql_fetch_array($query,MYSQL_ASSOC)){

 

echo "<b>id:</b>".$array['id']."<br/>";

echo "<b>Testo:</b>".htmlentities($array['testo'])."<br/>";

echo "<hr></hr>";

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal, eu estava com o mesmo problema cadastrar dados com acentos no banco de dados MySQL,

Resolvi codificando os arquivos para UTF-8 ao receber os dados do formulário com $_POST assim:

 

// recuperando os dados do POST

$nome_usuario = utf8_decode($_POST['nome_sabor']);

 

Assim não deu mais problemas!

 

Não esqueçam de colocar nas tags <META> do html assim:

 

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

 

Boa sorte ai e Valew!

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.