在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進制的編碼,同時添加上%號.
?