1、我們要保證JSP向用戶端輸出時是採用中文編碼方式輸出的,即無論如何我們首先在我們的JSP源代編中加入以下一行:
<%@page contentType="text/html;charset=gb2312"%>
2、為了讓JSP能正確獲得傳入的參數,我們在JSP源檔案頭加入下面一句:
<%request.setCharacterEncoding("GB2312″);%> 3、為了讓JSP編譯器能正確地解碼我們的含有中文字元的JSP檔案,我們需要在JSP源檔案中指定我們的JSP源檔案的編碼格式,具體來說,
我們在JSP源檔案頭上加入下面的一句即可:
<%@page pageEncoding="GB2312″%>或<%@page pageEncoding="GBK"%>
綜上,JSP檔案開頭應該進行如下配置。
<%@page contentType="text/html;charset=gb2312" pageEncoding ="GB2312"%><%request.setCharacterEncoding("GB2312");%>4、Form中的亂碼問題
將Form中的中文值傳入資料庫再取出來後經常會全部變成問號。除了在頭部定義上面那些代碼之外還需要定義一個專門解決這類問題的getStr類。
代碼如下:
public String getStr(String str){ try{String temp_p=str; byte[] temp_t=temp_p.getBytes("ISO8859-1"); String temp=new String(temp_t); return temp; }catch(Exception e){}return "NULL";}然後對接收到的參數進行如下轉換:
String keyword1=request.getParameter("keyword1");keyword1=getStr(keyword1);這樣問題就解決了。