关于Ajax请求中传输中文乱码问题的解决方案
程序员文章站
2022-09-05 18:37:01
今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题。
如下代码:
function updatefolderinfobycustid(folderi...
今天遇到一个问题,有关ajax 请求中传输中文,遇到乱码的问题。
如下代码:
function updatefolderinfobycustid(folderid, foldername, custid) { $.ajax({ type: "post", contenttype: "application/x-www-form-urlencoded; charset=utf-8", url: "http://localhost/crm/ashx/handkbsucesscustomer.ashx?method=updatecustomerbycustid&folderid=" + folderid + "&foldername=" + encodeuri(encodeuri(foldername)) + "&custid=" + custid, success: function (msg) { alert(msg); }, error: function (error) { alert(error); } }); }
如上代码 如果只是传“&fodername=”+foldername 的话,汉字就会产生乱码,如果经过encodeurl 转换两次的话,汉字编码会变为类似
“%e6%b5%8b%eb%af%95” 的格式。转换为这种格式之后,在获取的时候在转码,如下所示:
public void updatecustomerbycustid() { int folderid = convert.toint32(request["folderid"]); string foldername = request["foldername"]; string foldername2 = convert.tostring(system.web.httputility.urldecode(foldername)); int custid = convert.toint32(request["custid"]); bool res = false; try { res = customerbusiness.updatecustomerbycustid(folderid, foldername2, custid); } catch (exception ex) { throw; } response.write(res); } } }
经此转换之后,即可获取到传输的汉字。
以上所述是小编给大家介绍的关于ajax请求中传输中文乱码问题的解决方案,希望对大家有所帮助
上一篇: Ajax解决缓存的5种方法总结(推荐)
下一篇: Ajax请求和Filter配合案例解析