AJAX中文乱码的几种后台的解决方案

 sPara += sName + "=" + encodeURI(encodeURI(sValue)) + "&";
 xmlHttp.onreadystatechange = handleStateChange;	
 xmlHttp.open( "POST" , sURL , true );
 xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
	
 xmlHttp.send(sPara);


注意,这里我使用了两次encodeURI,encodeURI(encodeURI(sValue))

String providerName = request.getParameter("providerName");  
 //post 传递的时候,一定是用utf8编码的  
providerName = URLDecoder.decode(providerName , "utf-8");  

分析:当调用request.getParameter()函数时,会自动进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。而URI 编码两次后,request.getParameter()函数得到的是原信息URI编码一次的内容。再用可控的解码函数 java.net.URLDecoder.decode()就可解出原始的正确的信息。


原文出自:http://blog.csdn.net/leejah163/article/details/5887714

你可能感兴趣的:(ajax中文乱码)