Struts1乱码问题,如何实现统一编码呢?

Struts1的Action接收JSP中Form表单传递过来的参数是乱码发出请求的JSP中编码是这样设置的:<%@pagelanguage="java"pageEncod... Struts1的Action接收JSP中Form表单传递过来的参数是乱码
发出请求的JSP中编码是这样设置的:<%@ page language="java" pageEncoding="UTF-8" contentType="text/html; charset=UTF-8"%>
Tomcat编码是默认设置
处理请求的JSP编码是:<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

现在的问题是:
1 - 通过form表单发出的中文请求参数到Action中就已经是乱码了
2 - 我将Tomcat的参数编码设置为UTF-8后,Action中接收到的中文请求参数仍旧是乱码

在Struts1框架的Web项目中如何做到统一编码呢?JSP中设置编码方式的pageEncoding和charset参数有什么区别呢?
form表单提交时候的参数编码是由哪个参数决定的呢?
展开
 我来答
AI大模型达人
推荐于2016-02-13 · TA获得超过365个赞
知道小有建树答主
回答量:180
采纳率:100%
帮助的人:102万
展开全部
// ------- 第一个问题 -------

...tomcat中的配置的编码只会影响到以get方式提交的参数,不会影响到以post提交的参数,
对于post提交的参数, 在获得参数前加上下面代码:

request.setCharacterEncoding("utf-8");
//------------- 第二个问题 ------------------
pageEncoding-->指的是你jsp文件编码, 你可以在Jsp文件上右击查看文件的编码.
contentType--->指的是返回客户端response内容的编码,那么浏览器就会按照你设定的这个编码对response进行解码, 你可以在客户端浏览器右击看成编码.
更多追问追答
追问
在Action中添加  request.setCharacterEncoding("utf-8");  无效
在Action中这样获取参数 String name = new String(form.getName.getBytes("ISO-8859-1"),"utf-8");无效
追答
亲,你确定你是post提交的? form默认的提交方式是get哦
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式