原先使用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> 中文就這樣解決了.: )
[火星人 ] struts中文顯示問題已經有314次圍觀