Já sei que existem diversas perguntas sobre o assunto "Acentuação com AJAX", mas ainda estou insatisfeito.
Gostaria de saber qual a melhor solução para resolver problemas de acentuação com AJAX. Antes eu usava funções do PHP (utf8_encode() e utf8_decode()), uma vez que já entendi que o xmlHttpRequest só trabalha com utf8.
O problema de usar essas funções do PHP é que é muito trabalhoso, imaginem que eu tenha que criar uns 20 formulários cada um com uns 30 campos. É muito desgastante usar toda hora essas funções.
Então pesquisei mais sobre o assunto e sugeriram que eu mudasse toda a codificação das páginas para UTF-8, inclusive o banco de dados ou até para não mudar todas as páginas, mudar o charset padrão do servidor, no caso apache. Fiz isso, funcionava até bem, mas o banco de dados fica com inconsistência, se eu coloco um "é" por exemplo, o banco de dados armazena algo como "Ãi". Para exibir os dados aparece normal o "é", mas não posso deixar isso armazenado no bd. Estou utilizando mysql.
Detalhe: estou utilizando a biblioteca JQuery, então tem mais um problema, quando o formulário contém um campo para envio de arquivos, como não é possível enviar por AJAX, o JQuery cria um iframe invisível para target do formulário, simulando o AJAX, o que é muito cômodo porém os dados não são codificados para UTF-8 e aí se o usuário que preencher meu formulário resolver enviar um arquivo não poderei usar as funções do PHP citadas acima, pois os dados não estão em UTF-8.
Gostaria de saber se alguém sabe como resolver o problema da acentuação da forma mais prática possível. Espero ter sido o mais claro possível.
Pergunta
_bruniolos
Boa tarde pessoal!
Já sei que existem diversas perguntas sobre o assunto "Acentuação com AJAX", mas ainda estou insatisfeito.
Gostaria de saber qual a melhor solução para resolver problemas de acentuação com AJAX. Antes eu usava funções do PHP (utf8_encode() e utf8_decode()), uma vez que já entendi que o xmlHttpRequest só trabalha com utf8.
O problema de usar essas funções do PHP é que é muito trabalhoso, imaginem que eu tenha que criar uns 20 formulários cada um com uns 30 campos. É muito desgastante usar toda hora essas funções.
Então pesquisei mais sobre o assunto e sugeriram que eu mudasse toda a codificação das páginas para UTF-8, inclusive o banco de dados ou até para não mudar todas as páginas, mudar o charset padrão do servidor, no caso apache. Fiz isso, funcionava até bem, mas o banco de dados fica com inconsistência, se eu coloco um "é" por exemplo, o banco de dados armazena algo como "Ãi". Para exibir os dados aparece normal o "é", mas não posso deixar isso armazenado no bd. Estou utilizando mysql.
Detalhe: estou utilizando a biblioteca JQuery, então tem mais um problema, quando o formulário contém um campo para envio de arquivos, como não é possível enviar por AJAX, o JQuery cria um iframe invisível para target do formulário, simulando o AJAX, o que é muito cômodo porém os dados não são codificados para UTF-8 e aí se o usuário que preencher meu formulário resolver enviar um arquivo não poderei usar as funções do PHP citadas acima, pois os dados não estão em UTF-8.
Gostaria de saber se alguém sabe como resolver o problema da acentuação da forma mais prática possível. Espero ter sido o mais claro possível.
Desde já agradeço!
Editado por _bruniolosLink para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.