前端AJAX调用的JAR包输出格式是乱码

JAR包是我把一个java项目打包后,但是那个项目的编码格式是GBK的,但是前端是UTF-8格式的,因此在AJAX调用jar时 网页控制台输出的是乱码,请问各位大神这个问题要怎么解决,(我用的是APACHE)

先确定ajax穿到后台说的时候有没有乱码,那个相当于中间人,如果是在传输到中间层乱码的话,将你的后台过滤器设置一下,要是传到中间人那不乱码,那就是java的字符格式设置了

https://www.cnblogs.com/luseike/archive/2013/01/06/2847037.html

首先你用ajax的话,我姑且你是在写一个web,然后你的jar应该是部署在一个服务器上,如果是tomcat服务的话,你可以把tomcat的编码格式设置成utf-8,然后就不会乱码了

设置项目编码,重新打包,或者你改服务器编码,都在配置文件里

tomcat编码格式修改可以网上搜索,很多的

设置项目编码,重新打包,或者你改服务器编码,都在配置文件里tomcat编码格式修改可以网上搜索,很多的

在后台action里要对取得的字符串进行decode
1、String type = request.getParameter(“type”);
2、type = URLDecoder.decode(type, “UTF-8″);
方法二:ajax配置contentType属性,加上charset=UTF-8
在ajax方法中加入以下参数
contentType: “application/x-www-form-urlencoded; charset=UTF-8″使用其它js框架或者xhr都是差不多,设置header中contentType即可,
这里关键是charset=UTF-8,如果没有这个,是不行的,默认jQuery里的contentType是没有的

你ajax前端页面的编码是UTF-8, 那么有中文的话 ajax送到后台java类后转换程GBK或者,你ajax送数据之前,将数据做类似 URLDecoder.decode(type, “UTF-8″); 的转码,后台再接受后解码,就可以了