java有幾種解決亂碼的方式?針對這個問題,這篇文章給出了相對應的分析和解答,希望能幫助更多想解決這個問題的朋友找到更加簡單易行的辦法。
解決方式1(若亂碼參數多,就比較低效)
瀏覽器默認編碼為ISO-8859-1,后端Servlet接收請求參數,按照ISO-8859-1進行解碼,得到二進制流,然后再用UTF-8編碼。
示例代碼:
// 獲得請求參數
String queryString = request.getQueryString();
// 按照ISO-8859-1方式解碼
byte[] bytes = queryString.getBytes("ISO-8859-1");
// 按照UTF-8編碼
String param = new String(bytes,"UTF-8");解決方式2(此種方式只支持get方式請求)
修改服務器(tomcat)配置:在server.xml中,默認為ISO-8859-1(沒有顯示出來),我們可以添加上UTF-8

解決方式3(此種方式只支持post方式請求)
在servlet直接設置請求參數編碼--推薦
//設置請求參數編碼
request.setCharacterEncoding("UTF-8");響應亂碼--響應
// 設置MIME類型
response.setContentType("text/html");
// 設置編碼
response.setCharacterEncoding("UTF-8");
//設置編碼(簡寫)
response.setContentType("text/html;charset=utf-8");以上就是java的三種解決亂碼的方式,詳細使用情況還需要大家自己親自動手使用過才能領會。如果想了解更多相關內容,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。