1. 程式人生 > >java web中編碼亂碼問題

java web中編碼亂碼問題

查詢 頁面 問題 調試過程 都是 clas image 進行 web項目

  b/s 模式的java web項目中,不管是前端與後端。開發過程中,調試過程中,運行過程都經常遇到亂碼問題。再從現象出發,分析一下問題:

  

1,項目導進來,頁面中的註釋等非西歐文字都是亂碼。先查看workspace編碼技術分享圖片,現在我的GBK 編碼。再查看這個頁面的編碼。

選中IDE工具中選中頁面屬性,可以看得到。如下圖:技術分享圖片。說明現在我的這個文件中代碼的編碼是以utf-8的方式存在。如果在這裏把這個編碼改成其它編碼方式。那麽將出現亂碼。這比如,我把這個編程改成ISO-8859-1的方式後,發現,頁面中所有非西歐的字符變成亂碼。所以發現一個文件中的非西歐文字一開始就是亂碼,可以查看她的編碼屬性。UE等工具就可以查看。再看與你主workspace的編碼是不是一致。在ECLIPSE中做這種轉換發生亂碼的概率會很高。建議在UE等編程器中做。

2,頁面發送請求時的傳參。前端把查詢的參數 傳到後端,後端根據參數查詢得到數據後,返回參數。具體情況是前端以GET的方式請求傳參。GET請求前端在傳送非西歐文字時一定要加上 URLEncoder.encode()的方式編碼後,再傳輸。

而服務端則應該以 new String(請求參數.getBytes("ISO-8859-1"),"gbk");的方式進行解碼。如果不加 URLEncoder.encode()的方式,不同瀏覽器有不同的字體編碼方式。

java web中編碼亂碼問題