最近一段时间,发现提交的数据有乱码。但没有发现规律,只发现只要是汉字就有可能出现乱码,如果只是字母和数字则不会出现乱码。其实之前发现过各种乱码问题。
于是做了检查,之前是因为content没有设置为utf-8,出现过乱码。但检查后发现这个没有问题
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
最后检查了很长时间,才发现只有IE下存在问题,谷歌浏览器是没有问题的。
在仔细检查代码,发现如下:
$("#test").click(function (e) {
var data = {};
$.ajax({
type: "post",
data: data,
url: "GetSession.ashx?OperationType=Del&testText=" + $("#content_reply").val(),
success: function (msg) {
var obj = jQuery.parseJSON(msg);
$.messager.alert('提示', obj.Msg);
}
});
})
通过查询字符串的方式提交的中文,在IE下,后台获取到的是乱码,但同样的代码在谷歌浏览器下是正确的。
修改如下,则是正确的。以前查询字符串我一般都是很简单的字符,从来没有传递过中文,因此没有发现这个问题。
想不到IE下还有这个区别。
$("#test").click(function (e) {
var data = {};
data.testText = $("#content_reply").val();
$.ajax({
type: "post",
data: data,
url: "GetSession.ashx?OperationType=Del",
success: function (msg) {
var obj = jQuery.parseJSON(msg);
$.messager.alert('提示', obj.Msg);
}
});
})