表单异步提交编码问题
场景:
页面显示用GBK编码
表单中有文本框,该文本框输入中文,
提交的时候不用标签的submit;
用jQuery("#frm").ajaxSubmit({
success:function(data){}
});
进行提交,采用的是post凡是提交。
jQuery的这种提交方式会吧中文按UTF-8编码传到后台,后台struts编码设置为GBK;
问题:
这就会造成这样的问题:
实际传到后台的是UTF-8编码,但是服务器且把该编码当成GBK来传换成Unicode码;
服务器在用的时候会把他当成GBK在显示,所以会出现乱码。
后台可以这么解决:
str = new String(str.getBytes("GBK"),"UTF-8");
因为不是所有的UTF-8编码在GBK中也存在,所以有些就会丢失,所以这种方式只能解决部分文字;