工作遇到ajax的使用,之前对这个东东没有多少深入研究,只是会用,这几天遇到了用ajax传值乱码的问题。于是查找资料研究了一番。。。
经过查找资料,发现利用get请求发送数据时,默认是gb2312的编码格式,所以如果要从前台传中文字符到后台就必须转码。我在这里是利用request.setCharacterEncoding("utf-8")
而用ajax通过post方式提交数据默认是用utf-8的编码格式。这个是大家在传值时需要注意的问题。
关键是我在后台利用response的响应输出流进行响应输出中文字符,因为xmlHttpRequst默认编码格式也是utf-8,所以我在后台也是在获取输出流之前设置了utf-8的编码格式,然后在前台写一个方法测试响应内容,本以为会顺利结束,结果出现一串问号,乱码 :shock:
于是我把前台页面,后台代码都改n遍,进行n遍测试,响应结果依然乱码?折腾了我一个多小时啊
郁闷啊。。。。。。
最后无奈,我重新建了个文件把之前的这个功能又写了一遍,启动服务,进行页面访问,意外出现了,这次显示的不是乱码。我又把原来文件的代码全部copy到新的文件中覆盖,重新发布,再重启服务进行页面访问,一切正常。。。。一样的代码,不同文件。
无语,不知道这是怎么回事。虽然问题是解决了,可还是搞不清这是怎么回事。
有哪位知道的仁兄可以告诉我的话,就在此谢过啦 :D
经过查找资料,发现利用get请求发送数据时,默认是gb2312的编码格式,所以如果要从前台传中文字符到后台就必须转码。我在这里是利用request.setCharacterEncoding("utf-8")
而用ajax通过post方式提交数据默认是用utf-8的编码格式。这个是大家在传值时需要注意的问题。
关键是我在后台利用response的响应输出流进行响应输出中文字符,因为xmlHttpRequst默认编码格式也是utf-8,所以我在后台也是在获取输出流之前设置了utf-8的编码格式,然后在前台写一个方法测试响应内容,本以为会顺利结束,结果出现一串问号,乱码 :shock:
于是我把前台页面,后台代码都改n遍,进行n遍测试,响应结果依然乱码?折腾了我一个多小时啊
郁闷啊。。。。。。
最后无奈,我重新建了个文件把之前的这个功能又写了一遍,启动服务,进行页面访问,意外出现了,这次显示的不是乱码。我又把原来文件的代码全部copy到新的文件中覆盖,重新发布,再重启服务进行页面访问,一切正常。。。。一样的代码,不同文件。
无语,不知道这是怎么回事。虽然问题是解决了,可还是搞不清这是怎么回事。
有哪位知道的仁兄可以告诉我的话,就在此谢过啦 :D