struts2接受js传的中文为乱码,请问该怎么办
5个回答
展开全部
转码的三种方法:
A 接受参数时进行编码转换
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8"); 这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。
B 在请求页面上开始处,执行请求的编码代码, request.setCharacterEncoding("UTF-8"),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用
String str = request.getParameter("something");即可得到汉字参数。但每页都需要执行这句话。
这个方法也就对post提交的有效果,对于get提交和上传文件时的enctype="multipart/form-data"是无效的。稍后下面单独对这个两个的乱码情况再进行说明。
C 为了避免每页都要写request.setCharacterEncoding("UTF-8"),建议使用过滤器对所有jsp进行编码处理。
如果是通过action直接传的,没有配置过滤器,建议按B方法修改一下!
A 接受参数时进行编码转换
String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8"); 这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。
B 在请求页面上开始处,执行请求的编码代码, request.setCharacterEncoding("UTF-8"),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用
String str = request.getParameter("something");即可得到汉字参数。但每页都需要执行这句话。
这个方法也就对post提交的有效果,对于get提交和上传文件时的enctype="multipart/form-data"是无效的。稍后下面单独对这个两个的乱码情况再进行说明。
C 为了避免每页都要写request.setCharacterEncoding("UTF-8"),建议使用过滤器对所有jsp进行编码处理。
如果是通过action直接传的,没有配置过滤器,建议按B方法修改一下!
参考资料: http://hi.baidu.com/beckham1917772/blog/item/344af735812fe9325ab5f545.html
展开全部
多数情况是因为网页的字符和程序的字符不匹配导致的,一般网页的字符设定默认为“GB2312”,而JAVA默认的字符是"UTF8",你从这个方面尝试解决一下;
还有一种可能是JS给后台传参数,多数用的是HTTP协议,这个协议对于中文是有编码规范的,就是类似于%AB%24FG等等的,你拿到后要用HTTP协议转一下就可以了。
还有一种可能是JS给后台传参数,多数用的是HTTP协议,这个协议对于中文是有编码规范的,就是类似于%AB%24FG等等的,你拿到后要用HTTP协议转一下就可以了。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2016-02-10 · 知道合伙人互联网行家
关注
展开全部
设置property标签的escape属性,表示是否忽略HTML语
言,false表示不忽略,当输出value属性指定的值时,其中包含“<”或“>”其他HTML标识,解析为有效的
HTML语法后输出;否则,设为true,表示忽略HTML语言,输出value属性指定值。
使用struts2标签将escape属性设置为false正常显示中文。
言,false表示不忽略,当输出value属性指定的值时,其中包含“<”或“>”其他HTML标识,解析为有效的
HTML语法后输出;否则,设为true,表示忽略HTML语言,输出value属性指定值。
使用struts2标签将escape属性设置为false正常显示中文。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
encodeURI('你的参数')
如:
var userName = "张三";
'test.jsp?userName='+encodeURI(userName)
如:
var userName = "张三";
'test.jsp?userName='+encodeURI(userName)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
过滤器没起作用,自己在action中设置一下编码格式就好了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询