Jump to content

Archived

This topic is now archived and is closed to further replies.

micox

[Resolvido] [Dica] Solução final para acentuação no Ajax

Recommended Posts

Micox, valeu pela atenção cara!A codificação tá pra Europeu ocidenta (ISO) no IEca e Ocidental (ISO-8859-1) no Firefox. A princípio, correto. Acessando a url direto, exibe o conteúdo vindo do banco certinho.Como acertar a exibição pelo Ajax?Obrigado!

Share this post


Link to post
Share on other sites

Ummm, então é coisa do ajax mesmo.Faz o seguinte:Na página pai, que tem o ajax,Seta o charset dela também via META.Se ela for em XHTML, coloca o prólogo:<?xml version="1.0" encoding="iso-8859-1"?>Se não for, nao coloca.Certifique-se que seu servidor tá enviando na codificação correta, fazendo o seguinte:Vá no command do DOS (cmd no winXP), digite:- telnet seu_dominio 80(ele então irá se conectar com seu site)- digite: GET suapagina.php (e de 2 ENTER)Ele irá puxar o código da sua página. No topo devem ter os headers enviados pelo HTTP (não sao os que tão dentro do <html>).Daí você verá se ser server tá servindo na codificaão correta mesmo.

Share this post


Link to post
Share on other sites

Cara, desculpa te alugar assim mas é que tá flórida com ph de pharmácia...Não rolou o telnet. Fiz como instruiu mas ele retorna um html de erro dizendo que o método get não foi implementado e não é suportado.... Mais alguma carta na manga?Desespero é a palavra... hehehe... Obrigado cara!

Share this post


Link to post
Share on other sites

Ummm, esquece essa viagem do telnet.

Eu testei no apache mas não deu certo não.

 

Existe uma extensão que te mostra os headers que tão sendo negociados no firefox: http://livehttpheaders.mozdev.org/

 

usa ela e me diz quais codificações tão sendo usadas na hora de chamar sua página.

Share this post


Link to post
Share on other sites

Amanha agente continua, agora tenho que ir.Continua com seus testes aí.E lembre-se do que falei no outro post:

Na página pai, que tem o ajax,Seta o charset dela também via META.Se ela for em XHTML, coloca o prólogo:<?xml version="1.0" encoding="iso-8859-1"?>Se não for, nao coloca.

Share this post


Link to post
Share on other sites

Bom dia cara.Nada. Mas fui para casa, fumei um cigarro, relaxei a mente e enxerguei (eu acredito) a solução do problema (ao menos, teoricamente):Como o XMLHttpRequest é quem faz efetivamente a exibição da minha página e ele trabalha com UTF-8 por padrão (pelo que entendi ele faz a conversão de charset internamente), não adianta eu tentar empurrar o charset no HTML ou PHP porque, no final das contas, ele vai converter para UTF-8 mesmo. Mudar tudo para UTF-8 não vou mesmo. Então, pelo que entendi (corrijam-me por favor se estiver errado), o que preciso é uma função JS que pegue o responseText e o recodifique em ISO-8859-1.Estou na net agora caçando alguma coisa. Vendo se existe (em primeiro lugar) e, exisitindo, se realmente faz o que penso/preciso que faça e como implementar em tempo recorde (chefe e cliente já estão colocando meu nome na lista dos 10 mais procurados da W3C... hehehe).É isto ae. Idéias, sugestões são muito bem-vindas. Obrigado novamente.

Share this post


Link to post
Share on other sites

A parte de exibicao ocorre normalmente... porem, estou com problema no envio dos dados utilizando o ajax...ele está gravando em formato utf-8 no banco ... como resolver isso?

Share this post


Link to post
Share on other sites

É isto ae. Idéias, sugestões são muito bem-vindas. Obrigado novamente.

Se tiver usando PHP, cria uma função echo customizada pra voce, que faça a conversão dos caracteres especiais para as HTMLEntities.Tipo:
function echoAjax($texto) { echo htmlentities($texto); }
Prontim, agora em vez de chamar echo nos seus scripts php ajax, voce chama o echoAjax.Pra asp dá pra usar a mesma metodologia.--------------

ele está gravando em formato utf-8 no banco ... como resolver isso?

http://phpbrasil.com/articles/article.php/pagerRow/1/id/1182

Share this post


Link to post
Share on other sites

ola micox belezabom eu estou com dois combos um puxa as informações a partir do outroou seja no primeiro eu escolho a categoria e o segundo vai apareçer as sub categorias, mais quando apareçe as sub as palavras que tem acentuação apareçe assim: c?meraae eu fiz e naum funcinou o que fazer??

<%@LANGUAGE="VBSCRIPT" %><% Response.Charset="ISO-8859-1" %>

Share this post


Link to post
Share on other sites

você colocou a codificação na página que chama a outra (página pai) ou na página que vêm trazendo os combos (página filho)?

Share this post


Link to post
Share on other sites

bom primeiro eu coloquei na pagina pai, ae naum funcionou e eu coloquei nas duas paginas, em qual pagina tem que deixar??e esta linha do dreamweaver eu deixou ou eu tiro??

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

Share this post


Link to post
Share on other sites

Pra desencargo de consciencia deixa o código em todas as páginas.Esta linha do DW pode deixar ela também ajuda no charset iso8859-1.Agora vamos fazer um teste com seu problema:- você deve estar puxando o texto c?mera de um banco de dados, não é?- Deixe de puxar ele do BD e escreva ele direto pra ver se vai dar o erro.

Share this post


Link to post
Share on other sites

ola micox belezabom eu deixei aquele codigo em todas as paginas e digitei os nomes com acentos sem puxar pelo banco de dados e naum rolou...... naum funcinou e agora o que fazer?..

Share this post


Link to post
Share on other sites

ae funcinou aqui eu esqueci de colocar o htmlenconde

<option value="<%=rssubcat("idsubcat")%>"><%=server.HTMLEncode(rssubcat("nome"))%></option>

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.