原先使用struts会有很多乱码,后来发现在action处理处理数据的时候没有设置好编码,我们需要确认如下的编码设置.这里我们使用utf-8.
1. 在每个页面设置request和response的charset,比如
<%
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
%>
2. 设置数据库的编码是utf-8.
我们设置action中的编码也是utf-8,貌似会出现说什么,不能设置这个编码,之前已经读了这个request,我们要重载 ActionServlet的process方法,如
1 public class MyActionServlet extends ActionServlet
2 {
3 protected void process(HttpServletRequest request, HttpServletResponse response)
4 throws java.io.IOException, javax.servlet.ServletException
5 {
6 request.setCharacterEncoding("utf-8");
7 super.process(request, response);
8 }
9 } 然后需要在web.xml中设置调用的ActionServlet,修改
<servlet>
<servlet-name>action</servlet-name>
<!--servlet-class>org.apache.struts.action.ActionServlet</servlet-class-->
<servlet-class>servlet.MyActionServlet</servlet-class>
这里省略掉了.
</servlet> 中文就这样解决了.: )