對於Post方式提交的數據,可以使用request.setCharacterEncoding("gb2312");來明確指定取得請求參數時使用編碼。 但是此種方式只對Post方式提交有效。
request.setCharacterEncoding("gb2312");對GET方式提交無效的原因是:程式碼只設定請求實體的編碼,而GET提交的資料是存放在請求行中的[資源名稱?param1 ="張三"¶m2=123],所以對GET請求的方式無效。
對於Get方式提交的數據,就只能手動解決亂碼:
String newName=newString(name.getBytes("ISO8859-1"),"gb2312"); String user=newString(request.getParameter("user").getBytes("ISO-8859-1"),"UTF-8");
當然,此種方法對Post方式同樣有效。
在tomcat的server.xml中可以設定http連接器的URIEncoding可以指定伺服器在取得請求參數時預設使用的編碼。
在servlet中通常會使用到以下幾個語句來解決中文亂碼問題:
request.setCharacterEncoding()是設定從request取得的值或從資料庫中取出的值。
response.setContentType()目的是為了控制瀏覽器的行為,即控制瀏覽器用指定編碼進行解碼(指定HTTP回應的編碼,同時指定瀏覽器顯示的編碼)。
response.setCharacterEncoding()目的是用於response.getWriter()輸出的字串的亂碼問題;如果是response.getOutputStream()是不需要此種解決方案的,因為這句話的意思是為了將response物件中的資料以UTF-8解碼後發向瀏覽器。
response.getOutputStream().write("中文".getBytes())輸出數據,這是一個位元組流,寫入記憶體使用什麼編碼,輸出就使用什麼編碼。
更多java知識請關注PHP中文網java基礎教學欄位。
以上是java參數亂碼問題解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了各種Java垃圾收集算法(串行,並行,CMS,G1,ZGC),它們的性能影響和適合大量堆的應用。

本文討論了Java虛擬機(JVM),詳細介紹了其在不同平台運行Java程序中的作用。它說明了JVM的內部流程,密鑰組件,內存管理,垃圾收集和性能Optimizatio

Java的Nashorn Engine可以在Java應用程序中啟用JavaScript腳本。關鍵步驟包括設置Nashorn,管理腳本和優化性能。主要問題涉及安全性,內存管理和未來兼容性

Java的Try-with-Resources通過自動關閉文件流或數據庫連接等資源來簡化資源管理,從而提高代碼可讀性和可維護性。

Java枚舉代表固定的值集,通過自定義方法和構造函數提供類型安全性,可讀性和其他功能。它們增強了代碼組織,可用於開關語句中以進行有效的價值處理。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境