您好,登錄后才能下訂單哦!
這篇文章主要介紹html中post亂碼的解決方法,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
html post亂碼的解決辦法:首先打開相應的代碼文件;然后將post傳遞過來的ISO編碼內容,改成UTF-8格式的內容即可。
本文操作環境:Windows7系統、HTML5版,DELL G3電腦
HTML使用post方式提交中文內容出現亂碼的錯誤解決方式
今天在做一個例子的時候,使用post方式提交表單,如果有中文的話,在另一個頁面顯示出來的時候,總是會出現亂碼;
但是將提交方式改為get的時候,就不會出現這種錯誤。
詳細錯誤見下面圖片和代碼。
HTML代碼:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>測試Cookie的設置和獲取</title> 6 </head> 7 <body> 8 <form action="/TestTomcat/SetCookie" method="post"> 9 站點名:<input type="text" name="name"><br> 10 站點URL:<input type="text" name="url"><br> 11 <input type="submit" value="提交" /> 12 </form> 13 </body> 14 </html>
Servlet代碼,截取一部分:
1 response.setContentType("text/html;charset=utf-8"); 2 3 PrintWriter out=response.getWriter(); 4 5 String title="設置Cookie實例"; 6 String docType="<! DOCTYPE html>\n"; 7 out.println(docType+ 8 "<html>\n"+ 9 "<head><title>"+title+"</title></head>"+ 10 "<body bgcolor=\"#f0f0f0\">\n"+ 11 "<h2 align=\"center\">"+title+"</h2>\n"+ 12 "<ul>\n" + 13 " <li><b>站點名:</b>" 14 + request.getParameter("name") + "\n</li>" + 15 " <li><b>站點 URL:</b>" 16 + request.getParameter("url") + "\n</li>" + 17 "</ul>\n" + 18 "</body></html>");
出現的錯誤:
一開始我以為時代碼塊放置的位置不對,將上面代碼放在了doPost里面試了一下,還是出現這種錯誤。
那么如何用post方式傳遞中文呢?
通過查找資料,
post方式提交
對于這種情況,response.setCharacterEncoding有影響,當沒有對response.setCharacterEncoding設置的時候值為null,則默認采用iso-8859-1來進行重新編碼(解碼)。
瀏覽器根據自己頁面的編碼格式作為起始編碼格式,把字符進行編碼成byte進行傳輸,到了tomcat,tomcat不進行干涉其中的重新編碼(解碼)格式。如果response.getCharacterEncoding為null,那么默認采用iso-8859-1進行重新編碼(解碼)成字符,如果設置了,就按照設置的編碼格式進行重新編碼(解碼)字符。
POST傳過去的都是單字節數據.所以POST傳來的數據編碼都是ISO-8859-1的單字節數據.因此英文和數字不會有亂碼...在這種情況下.過濾器和server.xml里的設置都是無效的.當然request.setCharacterEncoding()也是無效的因為setCharacterEncoding的原理跟過濾器一樣;
對于上面問題正確的處理方式應該為:
String nameStr=new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");
將post傳遞過來的ISO編碼內容,改成UTF-8格式的內容,然后再輸出。
html的全稱為超文本標記語言,它是一種標記語言,包含了一系列標簽.通過這些標簽可以將網絡上的文檔格式統一,使分散的Internet資源連接為一個邏輯整體,html文本是由html命令組成的描述性文本,html命令可以說明文字,圖形、動畫、聲音、表格、鏈接等,主要和css+js配合使用并構建優雅的前端網頁。
以上是“html中post亂碼的解決方法”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。