Ir para conteúdo

POWERED BY:

Arquivado

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

Juninho14

Erro de acentos gravados no banco de dados

Recommended Posts

Galera,

tenho a seguinte estrutura

 

 

include 'header.php';

cadastro de carros

include 'footer.php';

no meu header ja tentei de tudo:

 

<? header('Content-Type: text/html; charset=ISO-8859-1'); ?>

 

<? header('Content-Type: text/html; charset=utf-8'); ?>

 

ou colocar o

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

ou

 

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1'" />

 

só para lembrar, eu chamo uma funcao verificando no mesmo arquivo:

 

 

se post {
funcao($_POST)
}
e so consigo gravar no banco sem os acentos...

alguem pode me ajudar?

no meu banco o collation esta latin1_bin (MYSQL)

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Putz

Estou com um post aberto com o mesmo problema, cara....

Espero que resolvamos juntos...

Márcia

Compartilhar este post


Link para o post
Compartilhar em outros sites

nem vi seu post, desculpe, mas estou com esse problema desde ontem e nao consigo resolver... o collation do banco esta aparentemente ok, a linguagem nao tem erros em relação a isso e os inputs, testo antes de inserir no banco estão ok também.. nao sei mais oq tentar, ja tentei de tudo

 

 

 

ACHEI A SOLUÇÃO EM UM OUTRO FORUM!!!

 

no arquivo de conexão com o banco escreva logo após a conexão

mysql_query("SET NAMES iso-8859-1");
mysql_query("SET CHARACTER_SET iso-8859-1");

tcharãnnnn... grava REDONDINHO !!!! hehehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

Juninho14

Por que será que o meu não funciona, hein?

Também já tentei de tudo.

A últim foi isso aqui que você disse que funcionou pra ti.

Eu gravo no bd um arquivo xml que vem de outro programa e não vem com nenhum encoding especificado.

No bd uso o colation latin1_swedish_ci que é defalt, mas já tentei usar utf_unicode_ci também mas não funcionou.

Aparecem os mesmos caracteres que você mencionou.

Já que resolveu seu problema, tenta ai me ajudar também.....

Thanks http://forum.imasters.com.br/public/style_emoticons/default/grin.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu normalmente faço assim, converto os acentos antes de gravar no banco com a função htmlentities

 

Fica assim:

$variavel = htmlentities(evita_injection($_POST["variavel"]));

 

Desse jeito não tenho problemas com os acentos, é fácil se os dados vem de um formulários, agora como você usa com uma rquivo xml, não sei se tem como pegar os dados e convertê-los antes de gravar no banco

Compartilhar este post


Link para o post
Compartilhar em outros sites

marcia, você esta tendo problemas no texto do site, ou nos dados do bando de dados?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Juninho

Como eu já disse o meu xml é criado pelo MS Project, dai eu uso um paser php para interpretá-lo e salvar dados de meu interesse no bd MySql. No xml eles aparecem direitinho, tipo: Aço, Instalações Elétricas.... Daí quando grava no bd já aparecem do jeito que você sabe: ço, ções Elétricas. Daí pra frente sai tudo errado desse jeito, pq depois eu uso esses dados em outras páginas php com form e gráficos.

Já tentei de tudo também, encoding no xml (no bloco de notas), header na página - tanto com utf-8 como iso-8859-1. Eu uso o phpMyAdmim e lá já vem configurado o colation do banco - tudo como utf8 (informação que me aparece na página inicial onde abro o bd): Conjunto de caracteres MySQL: UTF-8 Unicode (utf8) e Collation de conexão do MySQL: utf8_general_ci.

Daí nao sei mais o que fazer.

Fizi também o que você diz que funcionou pra ti:

...
$hostname='localhost';
$username='root';
$banco='projeto_bd';
$db=mysql_connect($hostname,$username);
mysql_select_db($banco,$db);
mysql_query("SET NAMES iso-8859-1");
mysql_query("SET CHARACTER_SET iso-8859-1");
...
Agora não sei mais o que falta fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Juninho

Como eu já disse o meu xml é criado pelo MS Project, dai eu uso um paser php para interpretá-lo e salvar dados de meu interesse no bd MySql. No xml eles aparecem direitinho, tipo: Aço, Instalações Elétricas.... Daí quando grava no bd já aparecem do jeito que você sabe: ço, ções Elétricas. Daí pra frente sai tudo errado desse jeito, pq depois eu uso esses dados em outras páginas php com form e gráficos.

Já tentei de tudo também, encoding no xml (no bloco de notas), header na página - tanto com utf-8 como iso-8859-1. Eu uso o phpMyAdmim e lá já vem configurado o colation do banco - tudo como utf8 (informação que me aparece na página inicial onde abro o bd): Conjunto de caracteres MySQL: UTF-8 Unicode (utf8) e Collation de conexão do MySQL: utf8_general_ci.

Daí nao sei mais o que fazer.

Fizi também o que você diz que funcionou pra ti:

...
$hostname='localhost';
$username='root';
$banco='projeto_bd';
$db=mysql_connect($hostname,$username);
mysql_select_db($banco,$db);
mysql_query("SET NAMES iso-8859-1");
mysql_query("SET CHARACTER_SET iso-8859-1");
...
Agora não sei mais o que falta fazer...

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.