dkketty 2011-07-19 17:28
浏览 268
已采纳

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条回答 默认 最新

  • heihei0923 2011-07-19 20:16
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?