Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

Problemas com acentuação jQuery-Ajax-PHP

27-07-2009 13:25

Bom galera, vou deixar aqui uma dica.

Com certeza programadores ja devem ter quebrado a cabeça, pelo erros de acentuação qdo se usa AJAX, pois bem, aqui no forum ja tem a solução, que é inserir

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

no inicio da pagina. Isto pq o ISO-8859-1 é o padrão latino que trabalho com acentuação. e por padrão o usado é UTF-8, o americano que nao existe acentuação.

Mas qdo se usa jQuery, o comando .ajax, ex:

$.ajax({     type: "POST",                                 // envia pelo metodo POST     url: "pagina.php",                           // pagina pra onde sera enviado     data: "nome=joão&tipo=serviço",      //conteudo que sera enviado     success: function(resposta){           // resposta é o conteudo que ele vai ler na pagina.php          $('#div_resposta').html(resposta); // insere a resposta na div_resposta      } });

nesta transição, o formato usado no jquery é o UTF-8, os acentos ficam errados, MESMO USANDO O CABEÇALHO QUE FORÇA ISO-8859-1.

Então pesquisei pela net, e vi algumas referencias ao PHP usar o cabeçalho mb_internal_encoding, seria utilizado assim:

<?php mb_internal_encoding("UTF-8");  mb_http_output( "iso-8859-1" );   ob_start("mb_output_handler");    header("Content-Type: text/html; charset=ISO-8859-1",true); ?>

isto força de algum modo o PHP a codificar ou transformar de UTF-8 para ISO-8859-1,
não sei bem o que acontece, mas realmente funciona. :cool !!!!!!!!
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com acentuação jQuery-Ajax-PHP

27-07-2009 13:36

Boa dica, vlw :-) :banana
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 21

Problemas com acentuação jQuery-Ajax-PHP

28-07-2009 16:59

Show de bola brother, eu tava acostumado a usar o ajax normal e colocava o header na manha no topo, agora com JQuery a situação FACILITOU MUITO mas a questão de encoding é outra.

Novamente muito obrigado pela solução, este fórum agora faz parte dos meus favoritos.

Abração!
0
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 21

Problemas com acentuação jQuery-Ajax-PHP

28-07-2009 17:10

Agora que eu fui ver, quando misturado dentro da classe ele já não vai funcionar.

Não sei onde posso estar errado! Continua salvando no banco de dados com os acentos todos quebrados.

Abraços!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com acentuação jQuery-Ajax-PHP

28-07-2009 17:16

Uma solução que uso aqui é aplicar a função htmlentities() na função, assim ela já converte os acêntos salvando no banco de dados sem problema.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 21

Problemas com acentuação jQuery-Ajax-PHP

28-07-2009 17:27

Olá,

Desculpa, porém não entendi o uso da htmlentities! Utilizaria ela antes de salvar passando a string e depois na hora de mostrar teria de usar a unhtmlentities?!

Obrigado.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com acentuação jQuery-Ajax-PHP

28-07-2009 17:32

Não, por exemplo, se eu vou salvar a palavra: pé se eu passar a função htmlentities nela antes ficaria: p&eacute;

Ou seja, seria mostrado na página o é, mas, não daria esse problema de acentuação.

Para usar o htmlentities() pegue a string, e passe ela pela função, como no exemplo

$string = "pé"; $string = htmlentities($string); 

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 21

Problemas com acentuação jQuery-Ajax-PHP

28-07-2009 17:41

Sim sim perfeito!

O problema é que estou usando JQuery para salvar no banco de dados, passo um dado como o nome de uma pessoa Epitácio Gonçalves, ele está me salvando assim sem a htmlentities: Epitçcio Gonçalves, com a htmlentities ele salva assim: Gon&Atilde;&sect;alves

Meu banco de dados está para receber utf8_general_ci, mudei de latin1.

O que posso estar fazendo de errado, qual o formato que o JQuery está mandando para meu arquivo php??!

Novamente, muito obrigado.

Abraço
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com acentuação jQuery-Ajax-PHP

28-07-2009 17:46

Provavelmente está mandando UTF-8, se não for definido o contrário. Pelo que sei o UTF-8 não dá problema com os caracteres gerados pelo htnlentities, se o htmlentities não resolveu, e o header, tanto UTF-8 quanto ISO-8859-1 ai já não sei mais.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 237
Localização: Florianópolis/SC
Contato:

Problemas com acentuação jQuery-Ajax-PHP

31-07-2009 20:17

muda a estrutura de sua tabela pra armazenar em ISO-8859-1
nao adianta nada converter tudo pra ISO, mandar via ajax+jquery+php tudo certinho pra tabela, se ela nao suportar os acentos!

Dá uma olhada
http://www.codigosnaweb.com/forum/viewt ... =19&t=3375
0
MIDZ.com.br
http://www.midz.com.br
Soluções Web
 
Primeiras postagens
Primeiras postagens
Mensagens: 1

Problemas com acentuação jQuery-Ajax-PHP

14-08-2009 00:55

Me ajudou!

Valeu.
0
 
Primeiras postagens
Primeiras postagens
Mensagens: 1

Problemas com acentuação jQuery-Ajax-PHP

16-12-2009 10:41

Cara se não tem noção de como eu te amo ASUIDHui :S
tava quebrando a cabeça com esse problema e jquery.. vlw ai brother ;)
0
 
Primeiras postagens
Primeiras postagens
Mensagens: 1

Problemas com acentuação jQuery-Ajax-PHP

24-08-2010 20:58

Opa Galera,

perdi um dia de trabalho procurando a solução para esse problema. As soluções apresentadas aqui no fórum não resolveram o meu problemas, mas me ajudaram a entender o que estava acontecendo, a partir dai eu encontrei uma solução bem fácil.

O problemas é, as informações chegavam do js via jquery post, por isso estavam em UTF-8, eu precisava delas em ISO 8859-1 para gravar no banco, usei o método uft8_decode() do PHP para tratar a informação recebida e gravar no banco, deu certo!

Não sei se é a melhor solução, mas funcionou. Se algum tiver alguma outra idéia, seria legal.

Abs!
H.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com acentuação jQuery-Ajax-PHP

24-08-2010 22:02

Boa solução. Pode até ter um método de já trabalhar o utf dentro do jQuery mesmo, mas, não conheço.
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Mensagens: 1

Problemas com acentuação jQuery-Ajax-PHP

19-01-2011 17:35

gente, sem querer reabir um post velho, mas nao e legal deixar informação errada no primeira pagina do google.
é obvio que UTF-8 suporta acentos, UTF-8 foi criada nao so pra suportar acentos como caracteres arabes, chineses, japoneses, tailandeses, klingon, hieroglifos egipcios, grego, sirio, hebraico, runas elficas do tolkien qualquer coisa que voces quiserem imaginar. vamos estudar um pouco antes de sair escrevendo doidera por ai
http://pt.wikipedia.org/wiki/UTF-8
Grato
Ciro
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com acentuação jQuery-Ajax-PHP

19-01-2011 19:04

Boa a sua dica, só que o que é observado aqui é a interpretação de um documento .php usando o header, ISO ou UTF

No caso, para que os caracteres sejam lidos no português corretamente, deve ter um header UTF ou, que os caracteres estejam codificados.

Você pode fazer um teste em um servidor

<?php header("Content-Type: text/html; charset=UTF-8",true); ?>

é

Note que com o código acima o carácter não será lido corretamente.

Para que seja interpretado o "é" em uma página com o UTF-8, ele deveria estar dessa forma: &eacute;
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Mensagens: 1
Sexo: Masculino

Problemas com acentuação jQuery-Ajax-PHP

08-08-2011 10:24

Bom dia pessoal!
Sei que o post é antigo, mas talvez eu possa ajudar... Para quem tentou de TUDO e não conseguiu exibir corretamente o texto com acentuação, vai a dica:
utf8_encode para exibir na página e utf8_decode para enviar ao banco!

echo utf8_encode($conteudo) insert into TABELA(id, texto) values (0,utf8_decode($conteudo)); 

Eu tentei TUDO que foi sugerido neste post e nada resolveu, apliquei isso e funcionou perfeitamente tanto na gravação quando exibição!

Abraço e ótima semana!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com acentuação jQuery-Ajax-PHP

08-08-2011 12:25

Vlw pela dica.
0
A melhor hospedagem para o seu site HostGator!
 
Primeiras postagens
Primeiras postagens
Mensagens: 1
Sexo: Masculino

Problemas com acentuação jQuery-Ajax-PHP

07-11-2011 19:40

Eu estou construindo uma pagina mas sem PHP. Somente html com uma função js + jquery...

O problema é que as paginas em html do menu estao com acentuaçao normal (BR) e quando clico no menu que aciona o a função jquery a pagina aparece com a acentuaçao errada "(s?o)" como posso resolvere isso?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17720
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problemas com acentuação jQuery-Ajax-PHP

07-11-2011 19:45

Pode passar o link até a página?
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado