Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pra muita gente o tema charset é mais do que um problema resolvido, mas me apareceu outra questão.
Utilizo ASP e banco de dados Access, ao enviar os dados na primeira vez o charset emula direitinho inserindo os caracteres corretamente. Após o primeiro envio se você enviar o form novamente na sequencia os caracteres vão daquele jeito que estressa qualquer sujeito.
O que faço nessa situação? O charset funciona apenas no primeiro envio e nos demais não. Pq acontece isso?
a pagina que você criou com o formulário, tem que ter a mesma configuração de charset da pagina de ação do ASP.
Agora uma dica é, verificar qual charset tem no seu banco e tbm deixar tudo UTF-8, melhor para trabalhar, caso contrario, função HTMLEncode neles!
seu o banco de dados tem k estar compativel com o codepage e o charset
Valeu xanburzum!
Adicionei no topo da página chamada pelo ajax este código: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
Pois eu ja tinha definido o charset e o Content-Type.
Utilizei CODEPAGE 65001 pois defini o charset uft-8, mas se eu quisesse usar o iso-8859-1? Seria CODEPAGE 1252?
A codificação pra língua inglesa é “UTF-8” e nós usamos a “ISO-8859-1”, mas nada impede de usarmos também “UTF-8”. você deve configurar corretamente o sistema para usar essa codificação.
Nas páginas ASP que geram informações (XML , AJAX) e nas páginas ASP que recebem as requisições, defina
Response.Charset=“UTF-8″
Session.CodePage=65001
você pode usar a função Js para codificação dos caracteres
…
},
codificaString: function (){
var strRetorno="";
for(var i=0;i<arguments[0].length ;i++){strRetorno += ""+arguments[0].charCodeAt(i)+";";
};
};
return strRetorno;Função ASP para decodificar os caracteres codificados pela função Js
Function HTMLDecode(sText)
Dim I
sText = Replace(sText, """, Chr(34))
sText = Replace(sText, "<" , Chr(60))
sText = Replace(sText, ">" , Chr(62))
sText = Replace(sText, "&" , Chr(38))
sText = Replace(sText, " ", Chr(32))
For I = 1 to 255
sText = Replace(sText, "" & I & ";", Chr(I))
Next
HTMLDecode = sText
End Function
Utilizei:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
response.Charset = "utf-8"
Resolveu minha situação.
Valeu gente, tópico resolvido.
Maravilha, to colocando resolvido...
dá uma olhada aki
coloke o
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">