關於jsp include html檔案導致中文亂碼的問題

來源:互聯網
上載者:User

  最近看到很多論壇上說,無非就是以下的三點:

  一,在靜態網頁中,添加   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"
/>。但問題是這僅僅修改了當html檔案被編譯後傳遞給瀏覽器的內容編碼,仍然沒有修改其頁編碼,很多情況下,這不能解決問題;

 二,在jsp檔案中添加<%@ page language="java" contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8"%>.事實證明,當jsp
include html時,jsp的漢字並不會亂碼,顯然這也是行不通的。

三,修改tomcat xml檔案。事實證明tomcat7.0不支援這個方法。

  筆者有以下有幾個個人認為能從根本上解決問題的方法,希望讀者借鑒。

 一,從根本上解決頁編碼問題。將已經寫好的html檔案或jsp檔案用txt開啟。點擊另存新檔,選擇編碼格式為UTF-8,確定。這時,你的問題可能已經解決了。(雖然對於大項目而言,這種方法實在不可取,但是對於初學者而言,能起到協助作用)。

 二,在擷取客戶提交資訊,也就是說form的method是post時,在很多情況下會出現request得到的漢字內容會亂碼,這時,我們首先將擷取到的字串用UTF-8編碼,然後存放到一個位元組數組中,再將這個數組轉化為字串。例如:

  String username=request.getParameter("username");

  byte busername[]=username.getBytes("UTF-8");

  username=new String(busername);

 三,每次調用一次下面的方法即可。

<%!

public String toChinese(String str) throws java.io.UnsupportedEncodingException

{

byte b[]=str.getBytes("UTF-8");

str=new String(b);

return str;

}

%>

(具體內容請參加張銀鶴等編著的《jsp動態網站開發》)


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.