在Java中如何 将utf-8的编码改成gbk

纯情小余儿 2017-07-27 10:15:08
问题是这样的,我前台传给后台数据是utf-8的 然后后台又设置了一个字符filter
public class GBKEncodingFilter extends LightwayServletFilter {
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
request.setCharacterEncoding("GBK");
chain.doFilter(request, response);
}
}
过滤了所有的请求为GBK,现在就是想把前台传到后台的json转为gbk 死活转不了,前台请求为UTF-8 也不能改,死活都是utf-8
$.ajax({
type: "post",
url: "../sysconfig/resourceFieldProcessAll.do?currAction=batchInsert",
data: {mydata:jsondate},
dataType: JSON,
success: function(data){
alert(data);
callback;
},
error: function () {
alert("失败..");
}
});
前台ajax 有没有朋友遇到过此类的问题,,希望能得到回复 谢谢各位了
...全文
747 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
纯情小余儿 2017-07-28
  • 打赏
  • 举报
回复
该问题已经解决 , 把请求改为get 后台可以完成解码
Alvis_you 2017-07-27
  • 打赏
  • 举报
回复
页面编码用 gbk编码试试
纯情小余儿 2017-07-27
  • 打赏
  • 举报
回复
引用 1 楼 minemine0418 的回复:
URLDecoder.decode(str, "GBK");
你这个不行呢
纯情小余儿 2017-07-27
  • 打赏
  • 举报
回复
引用 2 楼 soton_dolphin 的回复:

byte[] b = null;
		
		BufferedReader reader = new BufferedReader(new InputStreamReader(前段输入流));
		BufferedOutputStream bos = new BufferedOutputStream(输出流);
		String line = null;
		while((line = reader.readLine()) != null){
			b = line.getBytes("gbk");
			bos.write(b);
		}

问题是这样的呢,首先前端过去的是utf-8后台就用filter 将utf-8转成了GBK 他就乱码了对吧,然后我现在应该怎样把这个乱码显示正常呢,我后台Java文件编码格式是GBK这个是不能改的?请问有没有什么好的方法?我先试试你这个方法
soton_dolphin 2017-07-27
  • 打赏
  • 举报
回复
如果用filter ,你需要用 httpServletRequestWrapper 和 httpServletResponseWrapper
soton_dolphin 2017-07-27
  • 打赏
  • 举报
回复

byte[] b = null;
		
		BufferedReader reader = new BufferedReader(new InputStreamReader(前段输入流));
		BufferedOutputStream bos = new BufferedOutputStream(输出流);
		String line = null;
		while((line = reader.readLine()) != null){
			b = line.getBytes("gbk");
			bos.write(b);
		}

minemine0418 2017-07-27
  • 打赏
  • 举报
回复
URLDecoder.decode(str, "GBK");
纯情小余儿 2017-07-27
  • 打赏
  • 举报
回复
引用 6 楼 ilovexiaou 的回复:
页面编码用 gbk编码试试
改了 并没有用

67,516

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧