首先看一下你的web項目亂碼屬於那一種症狀
一:頁面亂碼(數據庫,class中的數據是正常的,但在視圖層顯示卻亂碼)
亂碼原因:1:jsp解析編碼與jsp編碼設置不一樣。
2:response(應答)編碼與jsp解析編碼不一致,或者是沒有對response做編碼設置。
舉例說明:1:如圖所示
charset="iso-8859-1" 表示本jsp的解析編碼爲iso-8859-1;
pageEncoding="UTF-8" charset="UTF-8" 都表示本jsp的字符編碼爲UTF-8;
1 導致結果: 1應該結果:
2導致結果: 2 應該結果:
解決方案:1:將jsp解析編碼修改爲"UTF-8";
2.1:在jsp中添加 <%response.setCharacterEncoding("UTF-8"); %>
2.2 :寫一個攔截器 filter (見文章《struts1 一個很簡單的登錄演示》)
二:控制檯打印亂碼(視圖層正常參數傳到業務邏輯層時,業務邏輯層出現亂碼)
亂碼原因:1:系統語言不支持中文 。
2:request(請求)編碼與class編碼不一致,或者是沒有對request做編碼設置。
舉例說明:1,2:如圖所示
1 導致結果: 2 應該結果:
解決方案:1:最好是將系統語言修改爲 “中文(簡體 中國) ”
2.1:在jsp中添加 <%request.setCharacterEncoding("UTF-8"); %>
2.2 :寫一個攔截器 filter (見文章《struts1 一個很簡單的登錄演示》)
三:數據庫亂碼(在視圖層添加顯示正常的記錄到數據庫時,數據庫中查詢的值爲亂碼)這裏以mysql爲主
亂碼原因:1:沒有對連接方式設置編碼 或者編碼不一致 。
2:沒有對腳本設置編碼 或者編碼不一致。
解決方案:1:
2: