表單使用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...