在AJAX浏览器来进行发送数据时,一般它所默认的都是UTF-8的编码. Ajax在IE浏览器会出现中文乱码的情况!解决办法如下
<script type="text/javascript">
function showDiv(str){
document.getElementById("picDiv").style.display="";
var xmlhttp;
if (str==""){
document.getElementById("picDiv").innerHTML="";
return;
}
if (window.XMLHttpRequest){// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200){
document.getElementById("picDiv").innerHTML=xmlhttp.responseText;
}
}
var url = "SBpicture.jsp?picName="+str;
url=encodeURI(url);//这里是重点
xmlhttp.open("GET", url, true);
xmlhttp.send();
}
</script>
说明:1 .encodeURL函数主要是来对URI来做转码,它默认是采用的UTF-8的编码.
2. UTF-8编码的格式:一个汉字来三个字节构成,每一个字节会转换成16进制的编码,同时添加上%号.