Python教程

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

本文主要是介绍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调用Python程序的响应中文乱码处理办法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!