【The Most Important】淺談JSP表單Post方式中文亂碼問題,

來源:互聯網
上載者:User

【The Most Important】淺談JSP表單Post方式中文亂碼問題,

  首先祝大家雞年吉祥!在這裡我要說下這兩天裡這個問題困擾著我,大過年的心情都被煩擾的不好了,所以我帶著興奮的心情來趕快完成這篇部落格,解決大家的問題。我的問題是post方式傳遞表單資料,Tomcat伺服器返回後中文總是亂碼。

  我看了很多網上的部落格,我瞭解了contentType、pageEncoding的區別 附上連結:http://www.cnblogs.com/laj12347/p/3318998.html

  瞭解了Http中get,post的區別 附上連結:http://www.cnblogs.com/hyddd/archive/2009/03/31/1426026.html

  還看了許多解決辦法,沒有一個能解決我問題的,於是我開始自己慢慢的靜下心來試試。後來發現<% request.setCharacterEncoding("UTF-8"); %>這句代碼的位置很重要,一定要寫在頂部,我一開始一直是寫在<body></body>體裡面的,但其實並沒有什麼用。對的,我就是這麼Alt+上下鍵調動位置一次一次實驗才最終有正確的寫法的,您別說我笨,因為我看了很多篇博文,都沒有解決我的問題,所以我只能靠自己了。也正是因為他們未強調這句代碼的位置的重要性,才讓我們很多人浪費時間還解決不了問題。下面附上簡簡單單的代碼:

JavaBean:

 1 package com.hdu.test; 2  3 public class UseBean { 4     private String name; 5  6     public void setName(String name) { 7         this.name = name; 8     } 9 10     public String getName() {11         return name;12     }13 }

register.html:

 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8"> 5 <title>填寫註冊資訊</title> 6 </head> 7 <body> 8     <form action="register.jsp" method="post"> 9         <table>10             <tr>11                 <td>姓名:<input type="text" name="name"></td>12                 <td><input type="submit" value="提交"></td>13             </tr>14         </table>15     </form>16 </body>17 </html>

register.jsp:

 1 <%@ page language="java" contentType="text/html; charset=UTF-8"%> 2 <% request.setCharacterEncoding("UTF-8"); %><!-- 該行代碼的位置十分重要書寫在頂部哦 --> 3 <jsp:useBean id="user" scope="page" class="com.hdu.test.UseBean"></jsp:useBean> 4 <jsp:setProperty property="*" name="user" /> 5 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 6 <html> 7 <head> 8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 9 <title>顯示註冊資訊</title>10 </head>11 <body>12     姓名:<jsp:getProperty property="name" name="user" />13 </body>14 </html>

實現簡單的功能,運行register.html表單填入姓名(記得填寫中文以測試),點擊提交後,瀏覽器顯示姓名並且不會亂碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.