JavaScript - Encoding

02/04/2014

0

Pessoal,

Está ocorrendo um problema de encoding quando o browser do usuário não está definida a codificação como UTF-8. Por exemplo:

Palavra: ação
Quando não está encoding UTF-8: ação

Estas informações são envidas ao servidor via AJAX dos inputs text e elas são enviadas ao servidor da forma como estão sendo exibidas. Preciso contornar esse problema, realizado a conversão para a palavra quando o browser está como codificação UTF-8, ou seja, no exemplo acima, deve ser enviado a palavra "ação" independente do encoding.

Já defini a meta tag no HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">


E no ASP:
Response.ContentType = "text/html"
Response.AddHeader "Content-Type", "text/html;charset=UTF-8"
Response.CodePage = 65001
Response.CharSet = "UTF-8"


Preciso converter a string antes que seja enviada ao servidor via AJAX.

Desde já agradeço pela ajuda.
Junior Rocha

Junior Rocha

Responder

Posts

07/04/2014

Joel Rodrigues

Opa, poderia postar os trechos de código onde o conteúdo é eviado via Ajax, e também da função que o recebe?
Responder

08/04/2014

Junior Rocha

Segue abaixo o trecho de código AJAX.

var req;
function Salvar() {
	var desc = document.getElementById("txtDescricao").value;

	req = new ActiveXObject("Microsoft.XMLHTTP");
	req.open("GET", "cadastro.asp?descricao=" + desc, true);	
	req.onreadystatechange = RequestProcessSalvarAcao;
	req.send(null);
}

function RequestProcessSalvarAcao() 
{
	if (req.readyState == 4) 
	{ 
		if (req.status == 200) 
		{			
			alert("Operação realizada com sucesso.");
		}
		else 
		{	 
			alert("Não realizar a operação"); 			
		}
	}
}


Pelo que pude verificar, tem que ajustar a string quando a variável desc é atribuida. Após este ajuste, será enviado ao servidor corretamente independente do encoding configurado no browser do usuário.
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar