67,513
社区成员
发帖
与我相关
我的任务
分享
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<form action="result.jsp" method="post">
<input type="text" name="message" />
<button type="submit" >提交</button>
</form>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%=request.getParameter("message") %>
String encoding = filterConfig.getInitParameter("encoding");//UTF-8
req.setCharacterEncoding(encoding);
res.setCharacterEncoding(encoding);
chain.doFilter(req, res);
<constant name="struts.i18n.encoding" value="UTF-8" />
,其他的编码配置都没配(暂时还没 get 请求提交中文参数的情况,不知是否会乱码);
2、jsp 页面 post 提交一个表单,该表单包含 address 字段,其字段值为中文;
3、action 接收该字段,即
private String address;
getter...
setter...
4、直接打印输出发现是乱码,就按这位说的方法试了一下:
String str = new String(address.getBytes("ISO-8859-1"),"UTF-8");
然后打印输出 str 字段,结果正常。
最后,谢谢这位兄台的指导方法。
<%@ page language="java" import="java.util.*"
pageEncoding="UTF-8" contentType="text/html;charset=UTF-8" %>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");