中文亂碼問題及其解決方法(java中)?

Java(包括JSP)原始檔中很可能包含有中文,而Java和JSP原始檔的儲存方式是基於位元組流的,如果Java和JSP編譯成class檔案過程中,使用的編碼方式與原始檔的編碼不一致,就會出現亂碼。另外在HTML頁面中,也是由於頁面的編碼與瀏覽器解釋所用的編碼不一致,導致出現亂碼

中文亂碼問題及其解決方法(java中)

方法/步驟

解決HTML頁面的中文問題:

為了使HTML頁面很好的支援中文,在每個HTML頁面的標籤內部增加

中文亂碼問題及其解決方法(java中)

解決jsp頁面中的中文問題:

pageEncoding是jsp檔案本身的編碼contentType的charset是指伺服器傳送給客戶端時的內容編碼

中文亂碼問題及其解決方法(java中)

解決頁面資料傳輸的中文問題:

最佳方法是採用編碼過濾器來解決,設定一個過濾器,吧所有的資料都進行轉碼

中文亂碼問題及其解決方法(java中)

HTtp(post)請求中的中文亂碼

在Servlet頁面中 新增

中文亂碼問題及其解決方法(java中)

HTTP(get)請求中的中文亂碼問題:

如果是get,需要獲取請求的字串,然後把整個字串進行轉換,同時需要知道原編碼,下例假設為 ISO-8859-1

中文亂碼問題及其解決方法(java中)

Mysql資料庫中的中文問題:

解決Mysql資料庫中文問題主要在JDBC驅動的URL上新增:

中文亂碼問題及其解決方法(java中)

Mysql資料庫在windows系統中,dos中顯示錶中資料為亂碼,但是資料輸入與輸出均正常:

這是因為windows系統中,預設的編碼是中文,而寫入的時候是UTF-8,

此時只需要設定 set names gb2312 即可

注意事項

Tomcat的預設編碼是iso-8859-1,如果沒有指定的話,就會使用預設的編碼

相關問題答案