struts2+json 乱码!!!

代码如下
var jsonData = {
"vo.id":$("#voId").val(),
"vo.videoclass":$("#videoclass").val()
};
$.ajax({
type:"post",
url:"${ctx}/videoclassEdit_update.action",
dataType:"json",
data:jsonData,
success:function(data){
$(".msg").html("");
var msgHtml = ""+data+"";
$(".msg").append(msgHtml);
}
});

页面:pageEncoding="GBK" ,contentType="text/html; charset=GBK"

struts.xml中有

web.xml过滤器org.springframework.web.filter.CharacterEncodingFilter
总之,都变成了gbk。

后台:
vo.getVideoclass()严重乱码,
new String(vo.getVideoclass().getBytes("GBk"),"UTF-8");得到的字符串始终是最后一个汉字乱码

ajax的乱码真烦人啊

2个回答

ajax提交都是以utf-8格式编码的,在filter中设置了gbk编码会影响所有POST方式提交的数据;如果是post form提交,那应该不会有问题;但是ajax post是utf-8编码那应该会有问题。
对于ajax的访问,在action中设置request.setCharacterEncoding("utf-8")。试试。

全部UTF-8,会有意想不到的结果 :lol:

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问