ajax调用Python程序的响应中文乱码处理办法

ajax调用Python程序前提

1、Apache要能调用Python程序,先设置服务器,方法见我的随笔

2、ajax调用过程如下:

<script language="javascript">
function chax(n)
{
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
        //  IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
        xmlhttp=new XMLHttpRequest();
    }
    else
    {
        // IE6, IE5 浏览器执行代码
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange=function()
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            document.getElementById("cxjg").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET","try.py?n="+n,true);
    xmlhttp.send();
}
</script>

3、try.py如下:

#!C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe
import cgi
form = cgi.FieldStorage()
n = form.getvalue('n')
print("Content-type:text/html")
print()
print("输入的内容为:",n)

4、这样返回的内容在原页面显示时,中文就会变成乱码

5、怎么处理呢,查了很多资料,最后才找到一个办法,就是在ajax的过程里加上一条语句

xmlhttp.overrideMimeType("text/xml;charset=gb2312")

注:加在xmlhttp.onreadystatechange=function()之前

上一篇:ajax缓存的形成原因,ajax如何解决浏览器缓存问题?


下一篇:wbr标签的作用