Ir para conteúdo

POWERED BY:

Arquivado

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

Josuel S.H

[Resolvido] caracter encoding MySQL

Recommended Posts

olá a todos

 

tenho um sistema de comentario em PHP e MySQL

 

mas tem um problema, sempre que uma pessoa vai comentar e coloca letras do tipo "á, é, ç, etc"

 

ai fica assim

 

á = á

 

fica desse geito "á", então tipo tem como fazer ficar "á" ao invez de "á"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

li tudo, mas não me ajudou nenhum desses tópicos, o ultimo é link quebrado...

 

tava vendo nos topicos alguém poderia me explicar melhor sobre "utf8"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Também já tive problemas desse tipo. Você tem que escolher um charset (comumente utf-8 ou iso-8859-1) ao criar o banco de dados e então inserir os dados.

 

Ao exibi-los na página html, use <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

 

Atualmente trabalho dessa forma e não tive mais problemas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tah, então vamos por parte, ai eu aprendo mais direito :D

 

bom tipo na página que vai exibir os resultados do Banco de Dados eu coloco isso

 

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

 

certo!?

 

ai na pagina que insere as informaões no Banco de Dados eu uso dessa maneira

 

mysql_query("
			insert into $nometabela
			values (NULL,'','$nome','$comentario','$data','1','$data','$resposta','$secao')		
		",$conexao);
		mysql_close($conexao);

ai então como esse código ficaria para colocar a parada do UTF-8?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Esse meta serve para você exibir os dados que já devem estar gravados no banco de dados em utf-8.

 

mysql_query("

insert into $nometabela

values (NULL,'','$nome','$comentario','$data','1','$data','$resposta','$secao')

",$conexao);

mysql_close($conexao);

Esse código insere os dados no banco de dados usando charset definido quando você criou o bd e as tabelas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então tipo, não preciso mudar nada nesse código

 

mysql_query("
insert into $nometabela
values (NULL,'','$nome','$comentario','$data','1','$data','$resposta','$secao')
",$conexao);
mysql_close($conexao);

???????

 

ai então qual o comando que coloco no console pra criar o banco de dados em UTF-8?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para inserir, veja este exemplo.

$inserir = mysql_query("insert into mural (id, data, nome, cidade, mensagem, exibir, ip) values ('', now(), '$nome', '$cidade', '$mensagem', '$exibir', '$ip')") or die(mysql_error());

Para criar o bando de dados:

em utf-8

CREATE DATABASE `teste` DEFAULT CHARACTER SET utf8 COLLATE utf8_swedish_ci;
em latin

CREATE DATABASE `banco_teste` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;

Compartilhar este post


Link para o post
Compartilhar em outros sites

ai então qual o comando que coloco no console pra criar o banco de dados em UTF-8?

veja o tutorial do link postado no post numero 5

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom malz ai pelo tempão...

 

mas voltando ao assunto

 

tipo, fiz uns testes e ta beleza

 

mas ai agora falta a parada para exibir os resultados

 

aqui eu uso o seguinte

 

<?=nl2br(chunk_split(htmlentities(mysql_result($respostas,$i,comentario))))?>

ai tipo, acho que o que mostra as pelavras certas no script do tutorial do post "5"

 

acho que tem a ver com essa linha

 

echo PHP_EOL . nl2br( $l['text'] );

alguém poderia confirmar isso pra mim?

 

e também pode me ajudar a colocar no meu script

 

<?=nl2br(chunk_split(htmlentities(mysql_result($respostas,$i,comentario))))?>

Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nao entendi muito bem.

 

a dúvida original do topico ainda persiste ou a questão do post 11 é referente a outro assunto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu ja conseguir fazer tudo

 

agora falta fazer para exibir os resultados, entende?

 

mas agora tenho que fazer isso usanvo esse script

 

<?=nl2br(chunk_split(htmlentities(mysql_result($respostas,$i,comentario))))?>

entendeu?

 

por que ai se eu colocar apenas esse script acima, os caracteres vão ficar daquele geito

 

ai tenho que fazer ele ler sertinho os caracteres....

Compartilhar este post


Link para o post
Compartilhar em outros sites

por que ai se eu colocar apenas esse script acima, os caracteres vão ficar daquele geito

 

ai tenho que fazer ele ler sertinho os caracteres....

qual o propósito em fazer isso com a string ?

 

por acaso quer evitar que palavras longas quebrem o layout html ?

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.