表單使用Post方式提交後接收到的亂碼問題

2021-08-30 16:52:11 字數 754 閱讀 4819

表單使用post方式提交後接收到的亂碼問題

這個問題也是乙個常見的問題。這個亂碼也是tomcat的內部編碼格式iso8859-1在搗亂,也就是說post

提交時,如果沒有設定提交的編碼格式,則會以iso8859-1方式進行提交,接受的jsp卻以utf-8的方式

接受。導致亂碼。既然這樣的原因,下面有幾種解決方式,並比較。

a 接受引數時進行編碼轉換

string str = new string(request.getparameter("something").getbytes("iso-8859-1"),"utf-8")

; 這樣的話,每乙個引數都必須這樣進行轉碼。很麻煩。但確實可以拿到漢字。

b 在請求頁面上開始處,執行請求的編碼**, request.setcharacterencoding("utf-8"),把提交內

容的字符集設為utf-8。這樣的話,接受此引數的頁面就不必在轉碼了。直接使用

string str = request.getparameter("something");即可得到漢字引數。但每頁都需要執行這句話。

這個方法也就對post提交的有效果,對於get提交和上傳檔案時的enctype="multipart/form-data"是無

效的。稍後下面單獨對這個兩個的亂碼情況再進行說明。

c 為了避免每頁都要寫request.setcharacterencoding("utf-8"),建議使用過濾器對所有jsp

進行編碼處理。這個網上有很多例子。請大家自己查閱。

表單的提交方式POST和GET

post和get都是表單屬性method的可選值,method的預設值為get,兩者的主要區別在於 1.在客戶端,get方式在通過url提交資料,提交後在位址列中的位址如圖1.4.3所示。圖1.4.3 get方式提交表單後的位址列 而post提交後地欄不變,如圖1.4.4所示。圖1.4.4 post...

表單的提交方式POST和GET

post和get都是表單屬性method的可選值,method的預設值為get,兩者的主要區別在於 1.在客戶端,get方式在通過url提交資料,提交後在位址列中的位址如圖1.4.3所示。圖1.4.3get方式提交表單後的位址列 而post提交後地欄不變,如圖1.4.4所示。圖1.4.4post方式...

c 以POST方式模擬提交表單

這是我一年前寫的乙個用c 模擬以post方式提交表單的 現在記錄在下面,以免忘記咯。那時候剛學c 忽忽。很生疏。看上去也很幼稚 臃腫不堪 region 內容新增函式 contentinsert public string contentinsert string bookid,string book...