代码如下
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的乱码真烦人啊
ajax提交都是以utf-8格式编码的,在filter中设置了gbk编码会影响所有POST方式提交的数据;如果是post form提交,那应该不会有问题;但是ajax post是utf-8编码那应该会有问题。
对于ajax的访问,在action中设置request.setCharacterEncoding("utf-8")。试试。
全部UTF-8,会有意想不到的结果 :lol: