iMasters Fóruns: [Resolvido] [Dica] Solução final para acentuação no Ajax - iMasters Fóruns

Ir para

  • (2 Páginas)
  • +
  • 1
  • 2
  • Novo tópico
  • Responder

[Resolvido] [Dica] Solução final para acentuação no Ajax Com apenas 1 linha de código: php, asp, jsp.

#1 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 12 abril 2006 - 16:32

ATENÇÃO: Após estudar algumas coisas novas e ver alguns conselhos, ví que este tutorial está desatualizado e com algumas inverdades. Me discurpe hehe :(

Ae... pesquisei um pouco e desenvolvi a solução final pra esse problema de acento, acentuação, caracteres especiais, codificação, etc no Ajax.

Postei uma explicação um pouco mais completa dessa solução de acentuação no ajax lá no meu blog pra quem se interessar.

Atenção: Esta solução aqui é apenas no momento de receber os dados pelo javascript/ajax. Para capturar corretamente valores enviados por GET ou POST no PHP, dêem uma conferida nesta postagem do JulioGreff.

Já que o xmlhttprequest trabalha no padrão com o UTF-8, nós temos que informar ao nosso servidor que deve mandar o charset ISO-8859-1 pro browser, e não o UTF-8. O problema é que nunca havia conseguido fazer funcionar. Antes eu tentava fazer com a tag meta, nao dava certo.

Já ví vários esquemas viagens usando encode, escape, uri, utf_encode, etc...

Mas há uma forma simples de falar pro ajax receber o texto no formato nosso (iso-8859-1): é só alterar o servidor para que sirva o ISO-8859-1 por padrão OU setar o cabeçalho via linguagem dinamica.

Pra fazer isso você usa, no início do seu código:

ASP:

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

PHP:

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

JSP:

<%@ page contentType="text/html; charset=ISO-8859-1" %>


Testado com sucesso no IE6 e FF1.5, quem puder testar em outros browsers, ou colocar seu testemunho aqui dizendo se funcionou ou não...

<editado>Lembrando que, se voce tiver acesso às configurações do servidor, voce poderá configurá-lo para servir ISO-8859-1 por padrão</editado>


PS.: Ah, e se alguém se interessar por uma função super simples e funcional pra ajax, dá uma testada na função simples pra ajax e múltiplos carregamentos que eu fiz... Testem lá e comentem.

PS2.: Se voce quer carregar um arquivo xml ou html simples que não usa linguagem server side, talvez voce consiga resolver o problema da acentuação usando só o a tag meta, mas se não conseguir você pode usar o responseXML ao invés do responseText pois, de acordo com a mozilla.org, o responseXML interpreta corretamente outros caracteres e não apenas o UTF-8.

PS3.: O problema também pode estar sendo causado por banco de dados. Se for isto, leia este post aqui mesmo nesta página: http://forum.imaster...&...st&p=572863

#2 Membro offline   Gastro Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 121
  • Cadastrado: 11-abril 06

Postou 13 abril 2006 - 11:38

Animal... aqui deu tudo certo...
só não entendi o , true ali pro php...
o que ele faz

#3 Membro offline   supino Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 112
  • Cadastrado: 27-julho 03

Postou 13 abril 2006 - 12:51

testei o código em ASP no Opera 8 e funcionou certinho!

valeu!!!!!!!!!!!

#4 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 14 abril 2006 - 10:41

Quote

só não entendi o , true ali pro php...


Fonte: br.php.net/header:

Quote

O parâmetro opcional replace indica quando um cabeçalho deverá substituir um cabeçalho similar anterior, ou adicionar um segundo cabeçalho do mesmo tipo. Por padrão irá substituir, mas se você passar FALSE como segundo argumento você poderá forçar multiplos cabeçalhos do mesmo tipo.


#5 Membro offline   rKT Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 24-maio 06

Postou 24 maio 2006 - 23:35

Eu teste a solução para páginas JSP e não funcionou corretamente.

Meu problema está sendo o seguinte.

As mensagens internas do meu sistema ( como por exemplo avisos ao usuário, mensagens de erro, este tipo de coisa ) os caracteres com acento ou ç aparecem com ?. Ou seja... as frases que são escritas dentro do arquivo .js não funcionam.

Todas as frases digitadas pelo usuário são tratadas corretamente e não geram erros, assim como os dados enviados pelo servidor em transições AJAX...

Alguem sabe oq eu posso fazer para arrumar isso ?

#6 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 25 maio 2006 - 09:49

Ótimo, o primeiro depoimento de alguém que usa JSP.
Bora tentar resolver seu problema:
1) Abra sua página que foi chamada pelo ajax no browser diretamente (sem ser via ajax, digite o endereço dela no browser)
2) veja qual foi a codificação resultante do browser (o Firefox é muito mlhor que o IE pra voce ver isso) indo em exibir>Codificação.
3) Se voce tiver feito certo, a codificação será Ocidental (iso -8859-1) e os caracteres aparecerão corretamente.

TEste ae e fale pragente dinovo que eu não entendi direito seu problema nao.

#7 Membro offline   rKT Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 24-maio 06

Postou 25 maio 2006 - 15:20

A codificação apareceu certa, Ocidental (ISO-8859-1).

Bom vou tentar explicar melhor....

Por exemplo, eu possuo uma validação de um campo. Quando esta validação termina com sucesso nenhuma mensagem é gerada para o usuário, mas quando o dado não é valido uma mensagem é escrita ao usuário avisando-o que o dado é invalido... algo assim :

function validate( tf , msgFor ){
	 valido = validacao( tf.value );
	 if( valido == false )
		  msgFor.innerHTML = "- Este dado é inválido."
}


Ou seja... a função acima recebe um campo de texto ( tf ) e a sua respectiva mensagem de erro ( msgFor ). Em seguida é realizada a validação do valor presente em tf ( valido = validacao( tf.value ) ). Logo em seguida é verificado se o valor foi validado com sucesso ou não ( if.... ).

É nesta mensagem de erro que está surgindo meu problema. Ela está aparecendo desta forma.

- Este dado ? inv?lido.

Ou seja.... as frases que estão presente dentro do arquivo .js é que geram este problema.
Se o usuário digita algo com acento, o mesmo é tratado corretamente. Isto também ocorre com os dados vindos do servidor, também são tratados corretamente.

Espero que tenha dado para entender o meu problema. Estou pesquisando ele a muito tempo já e ainda não consegui achar nenhuma solução =/

Obrigado

Rodrigo Kerkhoff

#8 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 25 maio 2006 - 16:52

Ah sim rtk, acho que agora entendi.
bom, então parece que sua dúvida não tem a ver com ajax.

Voce pode fazer o seguinte então:

1) não usar caracteres especiais no html e sim seus correspondentes.
No seu caso ficaria: "Este dado &eacute; inv&acute;lido."

2) Colocar então essa codificação de caracteres no início do documento então. Da mesma forma que faria com seu arquivo ajax.

#9 Membro offline   rKT Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 4
  • Cadastrado: 24-maio 06

Postou 25 maio 2006 - 18:30

Então realmente não tinha nada a ver com o ajax mesmo.

O problema era com o tomcat e o eclipse, mais vo esplica o que estava ocorrendo pq alguem pode precisa...

ECLIPSE
Bom... o eclipse mantém por default o encode US-ASCII para arquivos javascript, pois este é geralmente o configurado como padrão.Com isto toda vez que eu testava a aplicação o eclipse processava o arquivo e descartava os acentos, ç, etc...
Portanto foi necessário mudar isto para ISO-8859-1 indo ná propriedade do arquivo.

TOMCAT
Também foi necessário mudar o encode utilizado pelo tomcat, pois na hora efetuar o deploy para o server ele também processava o arquivo e trocava tudo por ?.
Foi necessário realizar o start do tomcat com o parâmetro -D file.encoding=ISO8859_1.

Obrigado
Rodrigo Kerkhoff

#10 Membro offline   maniacs Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 67
  • Cadastrado: 22-outubro 04

Postou 26 maio 2006 - 11:22

Eh o seguinte ... ajax usa para enviar os Dados com UTF-8 caso seu banco de dados estiver em ISO-8859-1 vai dar problema com acentuação ... eh o mesmo caso para puxar os dados ...
a saida que axei eh encodar a pagina em UTF-8 tanto para entrada quando para saida ...
PHP fica :
<?php header("Content-Type: charset=UTF-8) ?>

e quando se vai gravar no banco ( se ele for charset diferente) da um utf_decode nos get/post ... na saida da um utf_encode

no JSP:
<%@ page contentType="text/html; charset=UTF-8" %>
e quando se vai gravar no banco ( se ele for charset diferente) da um (em scriptlet ...
String nomeDocampo= new String(request.getParameter('nomeDocampoGET/POST').toString().getBytes("ISO-8859-1"),"UTF-8");

para mandar não precisa encodar ...
se for usar TagLibrary no jsp e tiver que encodar ... coloque a variavel em pareContext para por usar na TagLibrary ex:
pageContext.setAttribute("nomeDocampo",nomeDocampo);

#11 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 26 maio 2006 - 11:41

Quote

Eh o seguinte ... ajax usa para enviar os Dados com UTF-8 caso seu banco de dados estiver em ISO-8859-1 vai dar problema com acentuação ... eh o mesmo caso para puxar os dados ...
a saida que axei eh encodar a pagina em UTF-8 tanto para entrada quando para saida ...
PHP fica :
<?php header("Content-Type: charset=UTF-8) ?>

Pra exibir uma página puxada por ajax não precisa encodar não. Leia meu primeiro post que lá eu explico.

Agora já, pra enviar, precisa encodar sim (encodeURI ou equivalente)...

#12 Membro offline   jtsjunior Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 1
  • Cadastrado: 29-maio 06

Postou 29 maio 2006 - 13:12

Cara, não sei se você vai poder me ajudar, acontece que eu estou com esse problema de acentuação usando Ajax no método POST, mais o problema eh que eu tow armazenando no Banco de Dados essas informações vindas do formulário, direto, e tah indo tudo errado, mesmo com o cabeçalho que você sugeriu......

Alguma sugestão......
Vallew....
Teh mais......

#13 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 29 maio 2006 - 17:34

E ae jtsjunior,

Seguinte: essa solução minha aí é pra RECUPERAR os caracteres acentuados.
Seu problema está em ENVIAR os caracteres, pois os browser SÓ ENVIAM EM UTF-8 (pelo que eu sei). Como em UTF-8 não há caracteres especiais, o browser converte, perde, etc... seus caracteres.

A forma de resolver na hora do ENVIO voce encontra aqui.

#14 Membro offline   maniacs Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 67
  • Cadastrado: 22-outubro 04

Postou 30 maio 2006 - 08:32

e quando se vai gravar no banco .... ta ali em cima ...

no JSP:
<%@ page contentType="text/html; charset=UTF-8" %>
e quando se vai gravar no banco ( se ele for charset diferente) da um (em scriptlet ...
String nomeDocampo= new String(request.getParameter('nomeDocampoGET/POST').toString().getBytes("ISO-8859-1"),"UTF-8");

PHP:
pegar dados com utf_decode ...

era soh ler um pouco....

#15 Membro offline   Alessandro_ Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 41
  • Cadastrado: 14-dezembro 05
  • Localização:Campo Grande - MS

Ícone  Postou 08 junho 2006 - 10:40

Pessoal andei pesquisando um pouco na net e encontrei esse artigo que ensina como como resolver esse problema.

:!: o link é http://www.tableless...opic.php?t=2966



Espero ter colaborado.

#16 Membro offline   mestre fyoda Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 1521
  • Cadastrado: 15-maio 04

Postou 30 junho 2006 - 00:56

:) .

#17 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 01 julho 2006 - 00:37

Valeu aí pela contribuição fyoda, editarei o post original.

#18 Membro offline   Tiago Rocha Sarno Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 15
  • Cadastrado: 02-julho 06

Postou 02 julho 2006 - 15:51

Micox,

Dica nota 99,99999 %
realmente muito boa, principalmente
a parte de configuração do servidor.

Tiago.

#19 Membro offline   js_junior Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 7
  • Cadastrado: 20-julho 06

Postou 20 julho 2006 - 15:33


Micox,

Caso possa ajudar, agradeço porque já estou sem saber mais o que fazer.
Seguinte, na máquina de desenvolvimento (minha) os sites funcionam 100% (tanto Firefox quanto IEca, seja local ou acessando a página do server). No cliente, não.
Fui eliminando, caçando na net alguma coisa que me ajudasse. Fiz de tudo: passo o charset no header (via PHP), setei o charset das páginas para ISO-8859-1 na tag <meta>, dei 3 pulos na frente do monitor, benzi o teclado, nada resolveu. Continua a bagaça saindo "?" no lugar dos caracteres acentuados.
Enfim, pelo que pude apurar, o erro ocorre com o conteúdo dinâmico, quem vem do banco via PHP e é exibido via Ajax. A conclusão que chego: Ajax é a causa de meus problemas. Mas como solucionar???
Em outro forum sugeriram tratar isto antes do Ajax exibir o requestText. Tentei mas sem solução.

Bom, caso possa passar alguma idéia que me ajude, agradeço.

JJr




#20 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 20 julho 2006 - 16:32

FAz o seguinte teste js,

Abre sua página sem ser via ajax e veja se os caracteres aparecem escrotos.

- Se eles não aparecerem, você vai em exibir>codificação e veja em qual codificação o Firefox jogou sua página.

- Se eles aparecerem zoneados, então é culpa do PHP/Banco de dados mesmo.

Faz o teste aí e me fala o que que deu.

#21 Membro offline   js_junior Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 7
  • Cadastrado: 20-julho 06

Postou 20 julho 2006 - 16:55

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!

#22 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 20 julho 2006 - 17:05

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.

#23 Membro offline   js_junior Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 7
  • Cadastrado: 20-julho 06

Postou 20 julho 2006 - 17:23

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!

#24 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 20 julho 2006 - 17:31

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.

#25 Membro offline   js_junior Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 7
  • Cadastrado: 20-julho 06

Postou 20 julho 2006 - 17:43

beleza, agora foi. O charset está assim:

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7

Obrigado!

#26 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 20 julho 2006 - 17:54

Amanha agente continua, agora tenho que ir.
Continua com seus testes aí.

E lembre-se do que falei no outro post:

Quote

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.


#27 Membro offline   js_junior Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 7
  • Cadastrado: 20-julho 06

Postou 20 julho 2006 - 18:04

Bom, obrigado... Continuar quebrando a cabeça.

Obrigado de novo.

#28 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 21 julho 2006 - 08:17

E ae? resolveu?
Tentou esses META e prólogo XML?

#29 Membro offline   js_junior Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 7
  • Cadastrado: 20-julho 06

Postou 21 julho 2006 - 08:25

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.

#30 Membro offline   mestre fyoda Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 1521
  • Cadastrado: 15-maio 04

Postou 21 julho 2006 - 08:29

[Editado | A propaganda pura e simples não é permitida | Regra 7]

tenta isso :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt-br"
lang="pt-br">

Fonte

Este post foi editado por Fleury: 21 julho 2006 - 14:29


#31 Membro offline   Ariel Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 111
  • Cadastrado: 18-abril 03
  • Localização:Pres. Prudente / SP / BR

Postou 08 agosto 2006 - 11:08

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?

#32 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 08 agosto 2006 - 11:39

Quote

É 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.

--------------

Quote

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

http://phpbrasil.com...erRow/1/id/1182

#33 Membro offline   kaplan Ícone

  • Tiago Sarri
  • Ícone
  • Grupo: Membros
  • Posts: 1744
  • Cadastrado: 12-julho 04
  • Sexo:Masculino
  • Localização:São Paulo

Postou 28 agosto 2006 - 14:56

ola micox beleza
bom eu estou com dois combos um puxa as informações a partir do outro
ou 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?mera

ae eu fiz e naum funcinou o que fazer??

Quote

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


#34 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 29 agosto 2006 - 08:26

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)?

#35 Membro offline   kaplan Ícone

  • Tiago Sarri
  • Ícone
  • Grupo: Membros
  • Posts: 1744
  • Cadastrado: 12-julho 04
  • Sexo:Masculino
  • Localização:São Paulo

Postou 29 agosto 2006 - 09:19

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??

Quote

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


#36 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 29 agosto 2006 - 23:46

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.

#37 Membro offline   kaplan Ícone

  • Tiago Sarri
  • Ícone
  • Grupo: Membros
  • Posts: 1744
  • Cadastrado: 12-julho 04
  • Sexo:Masculino
  • Localização:São Paulo

Postou 30 agosto 2006 - 09:07

ola micox beleza
bom 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?..

#38 Membro offline   kaplan Ícone

  • Tiago Sarri
  • Ícone
  • Grupo: Membros
  • Posts: 1744
  • Cadastrado: 12-julho 04
  • Sexo:Masculino
  • Localização:São Paulo

Postou 30 agosto 2006 - 10:44

ae funcinou aqui eu esqueci de colocar o htmlenconde

Quote

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


#39 Membro offline   vicentedomingos Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 16
  • Cadastrado: 03-julho 06

Postou 15 setembro 2006 - 15:32

Micox, boa tarde!

Dá uma força aí! como configura o Tomcat para servir iso-8859-1?

Vicente

#40 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 15 setembro 2006 - 16:53

Cara, não tenho idéia, nunca usei o tomcat.

Mas o google deve te ajudar: http://www.google.co...ta=lr%3Dlang_pt


//Aviso, quase não visito mais este fórum, se quiserem me achar procure no google.

#41 Membro offline   Alexsandro XPT Ícone

  • Alexsandro Souza Pereira | Desenvolvedor Web, Framework
  • Ícone
  • Grupo: Membros
  • Posts: 182
  • Cadastrado: 20-setembro 06

Postou 20 setembro 2006 - 11:52

Érrr....
So q agora tem um problema chato, estou usando POST em um formulario e a pagina postada q é ASP eu tenho um INSET INTO num bd SQLServer 2000.

Ao salvar no db, os caracteres com acentos vao todo doidao. dai entao resolvi fazer um teste de dar um SELECT no registro q acabei de inserir o proprio POST Ajax retorna o cacter certissimo! mas quando vou ver no db ta doidão... :S

Eu ja li tudo aki neste forum ja pus akeles charsets(UTF-8,ISO-8859-1) na pagina ASP e nada..
Tb ja mexi no self.xmlhttp.setRequestHeader do meu AJAX e nada...

O que será??????????????????????

#42 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 20 setembro 2006 - 17:50

Configuração do seu BD.

#43 Membro offline   Alexsandro XPT Ícone

  • Alexsandro Souza Pereira | Desenvolvedor Web, Framework
  • Ícone
  • Grupo: Membros
  • Posts: 182
  • Cadastrado: 20-setembro 06

Postou 20 setembro 2006 - 19:23

não é nao viu... pq sem POST em ajax funciona 100%

#44 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 21 setembro 2006 - 08:45

Vixx, aí complicou então.
posta o link pragente ver.

#45 Membro offline   micox Ícone

  • elmicox.blogspot.com
  • Ícone
  • Grupo: Membros
  • Posts: 2333
  • Cadastrado: 31-maio 03
  • Localização:Goiânia/GO

Postou 21 setembro 2006 - 14:51

Ah, lembre-se que minha solução SÓ serve para recepção dos dados do PHP, não serve para o ENVIO dos dados para o PHP.

Para o envio dos dados, você tem que usar algum tipo de encodagem.

Leia este link:
http://phpbrasil.com...erRow/0/id/1182

e este:
http://www.imasters....hp/t189133.html

#46 Membro offline   alaska Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 12
  • Cadastrado: 06-outubro 06

Postou 06 outubro 2006 - 19:53

novidades. o problema não me parece q seja do Ajax.
eu não estou usando AJAX nenhum...aliás nem sei o q isso é.
Tenho uma BD Mysql e tb tenho esse problema dos "?".
iso-> configurado e confirmadissímo.
a página na web -> funciona bem.
quando envio para o email... todos os caracteres latinos q vem das strings de PHP passam a "?".
o html q é introduzido manualmente funciona no email e na página online.

acho q vou juntar uma turma e fazer um eXorcismo ao php.

:devil:

#47 Membro offline   Alexsandro XPT Ícone

  • Alexsandro Souza Pereira | Desenvolvedor Web, Framework
  • Ícone
  • Grupo: Membros
  • Posts: 182
  • Cadastrado: 20-setembro 06

Postou 07 outubro 2006 - 00:33

uhmm sei nao... so sei q o meu eu fiz uma soluçao nao muito boa viu.... depois vou postar aki...

#48 Membro offline   Elbrinner Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 661
  • Cadastrado: 03-dezembro 04

Postou 15 outubro 2006 - 12:52

Estou com problema na hora de enviar os dados por post. Estou usando Asp, já tentei por encode e colocando charsets(UTF-8,ISO-8859-1) e não funciona.

já nao sei o que fazer

#49 Membro offline   Elbrinner Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 661
  • Cadastrado: 03-dezembro 04

Postou 16 outubro 2006 - 08:51

Esta gravando assim no bd.

coração grava Coração

já nao sei o que fazer.

#50 Membro offline   Elbrinner Ícone

  • Ícone
  • Grupo: Membros
  • Posts: 661
  • Cadastrado: 03-dezembro 04

Postou 16 outubro 2006 - 19:18

Se crio uma função para trocar os acentos pelo codigo html será que funciona?

tipo:
coração = cora&ccedil;&atilde;o

Function acento(ByVal strEntry)
strEntry = replace(strEntry , "ç", "&ccedil;")
strEntry = replace(strEntry , "ã", "&atilde;")
...
acento = strEntry
End Function

será que funcionaria?

  • (2 Páginas)
  • +
  • 1
  • 2
  • Novo tópico
  • Responder

1 usuário(s) está(ão) lendo este tópico
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)