解決JSP中文亂碼問題

來源:互聯網
上載者:User

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);
這樣問題就解決了。




聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.