在刚开始做ajax程序的时候,一般都会遇到这个问题--ajax乱码。它产生的原因和解决方法如下:
AJAX中会产生乱码的主要原因是:
一:Js提交查询XMLHTTP返回的数据,默认的字符编码是UTF-8,此时如果前台页面是GB2312或者其它编码,数据就会产生乱码显示。
二:POST方法提交数据默认的字符编码是UTF-8,如果后台是GB2312或其他编码数据同样也就会产生乱码。
解决问题的过程
我在编程过程中出现的问题是提交到数据库里面的所有中文数据显示都是乱码,客户端采用的编码方式是GBK编码方式,采用的是openLayers2.8所自带的Ajax引擎传送数据,数据库采用的编码方式是UTF-8。当初采用的编码转换是把GBK转换为ISO8859-1,
landUse=new String(landUse.getBytes("ISO8859_1"), "GBK");
但是编码显示依然为乱码。
最后醒悟过来Ajax引擎默认的编码方式是utf-8,,将语句转换为:
landUse=new String(landUse.getBytes("ISO8859_1"), "UTF-8");之后,显示一切OK了!哈哈
AJAX中会产生乱码的主要原因是:
一:Js提交查询XMLHTTP返回的数据,默认的字符编码是UTF-8,此时如果前台页面是GB2312或者其它编码,数据就会产生乱码显示。
二:POST方法提交数据默认的字符编码是UTF-8,如果后台是GB2312或其他编码数据同样也就会产生乱码。
解决问题的过程
我在编程过程中出现的问题是提交到数据库里面的所有中文数据显示都是乱码,客户端采用的编码方式是GBK编码方式,采用的是openLayers2.8所自带的Ajax引擎传送数据,数据库采用的编码方式是UTF-8。当初采用的编码转换是把GBK转换为ISO8859-1,
landUse=new String(landUse.getBytes("ISO8859_1"), "GBK");
但是编码显示依然为乱码。
最后醒悟过来Ajax引擎默认的编码方式是utf-8,,将语句转换为:
landUse=new String(landUse.getBytes("ISO8859_1"), "UTF-8");之后,显示一切OK了!哈哈