Open yankj12 opened 5 years ago
引言: 在JQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入:
$.ajax({ async: true, type : "POST", dataType : "json", data:postData, url : apiurl, success : function(data) { ... } });
1. 设置了 contentType: "text/plain; charset=utf-8", 问题依然存在 2. 重新检查了ajax代码所在的jsp页面,皆为使用utf-8,但是问题依然存在 3. 在后台的java代码中,强制使用utf-8、gbk、gb2312的编码转换, 问题依然存在 经过分析,判断其可能与浏览器或者JQuery中的内容传输有关,目前也无法准确的确定。
encodeURI(postData, "UTF-8");
使用encodeURI进行编码
URLDecoder.decode(inputStr,"UTF-8");
后端代码针对前段传递过来的字符串,进行解码。
最后就可以针对Ajax Post请求传递过来的字符串信息,就可以正常显示中文了。
JQuery中Ajax的Post提交中文乱码的解决方案
JQuery中Ajax的Post数据中文乱码
引言: 在JQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入:
问题尝试办法:
1. 设置了 contentType: "text/plain; charset=utf-8", 问题依然存在 2. 重新检查了ajax代码所在的jsp页面,皆为使用utf-8,但是问题依然存在 3. 在后台的java代码中,强制使用utf-8、gbk、gb2312的编码转换, 问题依然存在 经过分析,判断其可能与浏览器或者JQuery中的内容传输有关,目前也无法准确的确定。
解决的办法:
前端:
使用encodeURI进行编码
后端Java代码:
后端代码针对前段传递过来的字符串,进行解码。
总结:
最后就可以针对Ajax Post请求传递过来的字符串信息,就可以正常显示中文了。
参考
JQuery中Ajax的Post提交中文乱码的解决方案