cttren
cttren
  • 发布:2016-02-19 10:30
  • 更新:2016-02-20 15:35
  • 阅读:4561

后台和前端都是gbk编码,为什么ajax请求到后台的数据还是乱码?

分类:HBuilder

网上能试验的方法都试验过了,都没能解决。

后台将设置response.charset="utf-8" ,返回原请求数据中文显示正常,改为response.charset="gbk",返回原请求数据乱码。可是我后台前台都设置编码为gbk了,前台页面字符集也改为gbk了。不知道什么原因。有解决办法吗?

另外,由于数据库是gbk的,只能用gbk编码。

附上代码部分:
后台代码为

    //response.charset="utf-8"  
    response.charset="gbk"  
    connstr = ""  
    for each i in request.Form  
        if request.Form.key(i) <> "exec_fun" and request.Form.key(i) <> "UserCode" then  
           connstr = connstr & request.Form.key(i) &"='" & request.Form(i) & "',"  
        end if  
    next  
    response.write connstr  
    response.end

前台数据部分:

    <head>  
        <meta charset="GBK">  
        <title>电话回访</title>  
        <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">  
        <meta name="apple-mobile-web-app-capable" content="yes">  
        <meta name="apple-mobile-web-app-status-bar-style" content="black">  
....  
                        var data = '{';  
                        data = data + '"UserName":"' + plus.storage.getItem("TOKEN_USER") + '",';  
                        data = data + '"PasswordHash":"' + plus.storage.getItem("TOKEN_PASSWORD") + '",';  
                        data = data + '"exec_fun":"updateRowRevisit",';  
                        data = data + '"GroupUserID":"' + document.getElementById("GroupUserID").innerHTML + '",';  
                        if (String1) {  
                            data = data + '"String1":"' + String1 + '",'  
                        }  
                        if (String2) {  
                            data = data + '"String2":"' + String2 + '",'  
                        }  
                        if (String3) {  
                            data = data + '"String3":"' + String3 + '",'  
                        }  
                        if (String4) {  
                            data = data + '"String4":"' + String4 + '",'  
                        }  
                        if (String5) {  
                            data = data + '"String5":"' + String5 + '",'  
                        }  
                        if (String6) {  
                            data = data + '"String6":"' + String6 + '",'  
                        }  
                        if (String7) {  
                            data = data + '"String7":"' + String7 + '",'  
                        }  
                        if (String8) {  
                            data = data + '"String8":"' + String8 + '",'  
                        }  
                        data = data + '"CityAnswerNeed":"' + CityAnswerNeed + '"}'  
                            //                      data = encodeURI(data);  
                        Jdata = eval('(' + data + ')');  
                        var options = {  
                            data: Jdata,  
                            dataType: 'html', //服务器返回json格式数据  
                            type: 'post', //HTTP请求类型  
                            timeout: 10000, //超时时间设置为10秒;  
                            success: getMSG,  
                            contentType: 'application/x-www-form-urlencoded; charset=gbk',  
                            error: function(xhr, type, errorThrown) {  
                                //异常处理;  
                                console.log(type);  
                            }  
                        }  
                        mui.ajax(serverUrl, options);  

            function getMsg(data) {  
                alert(data);  
            }  
2016-02-19 10:30 负责人:无 分享
已邀请:
cttren

cttren (作者)

没有大神吗?

maq

maq

貌似 json 只支持 utf-8 编码。

该问题目前已经被锁定, 无法添加新回复