在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, Safarixmlhttp=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进制的编码,同时添加上%号.