java非表单提交数据乱码问题处理 如何处理能正常显示中文?

js代码window.location.href="<%=basePath%>getRelativeFile?topic="+encodeURI($('#relative... js代码
window.location.href = "<%=basePath%>getRelativeFile?topic="+encodeURI($('#relativeFile').attr("topic"));

java后台代码
request.setCharacterEncoding("utf-8");
String topic = request.getParameter("topic");
topic = java.net.URLDecoder.decode(topic, "utf-8");
System.out.println(topic);

控制台显示乱码
ps????··????¨????è§????20150302105306.docx
问题已解决
解决方法:
虽然我在demo中也设置了过滤器,但看到了其它相关问题的答案,”过滤器对于用url方式的参数是没有办法过滤的,需要另外转码操作
topic=new String(topic.getBytea("iso-8859-1"),"UTF-8");
展开
 我来答
y515789
2015-03-05 · TA获得超过202个赞
知道小有建树答主
回答量:138
采纳率:100%
帮助的人:88.1万
展开全部
1、在ajax请求的action中添加: request.setCharacterEncoding("utf-8");
jsp页面中:<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
然后编译重启试试。不行再进行第二步

2、对中文参数进行编码:
在页面中:param= encodeURIComponent(param);或者param= encodeURI(param); 在ajax请求的action中:param = URLDecoder.decode(param
,"utf-8");
匿名用户
2015-03-05
展开全部
jsp是不是也是用utf-8的?
追问
是的 谢谢热心回复 已经搞明白了是传值方面的特性造成的乱码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式