真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Javaweb接收表單數(shù)據(jù)并處理中文亂碼的方法-創(chuàng)新互聯(lián)

創(chuàng)新互聯(lián)www.cdcxhl.cn八線動(dòng)態(tài)BGP香港云服務(wù)器提供商,新人活動(dòng)買多久送多久,劃算不套路!

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、虛擬主機(jī)、營銷軟件、網(wǎng)站建設(shè)、寧洱網(wǎng)站維護(hù)、網(wǎng)站推廣。

這篇文章主要講解了Javaweb接收表單數(shù)據(jù)并處理中文亂碼的方法,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

前端表單數(shù)據(jù)

常見的表單項(xiàng)的傳值,如:

  • 普通input
  • 單選radio
  • 多選checkbox
  • select下拉選擇
  • textarea文本域
     

普通 input : name屬性值為后臺(tái)接收時(shí)的參數(shù)值。

用戶名:

密碼:

單選 radio :?jiǎn)芜x按鈕的 name 值相同才能實(shí)現(xiàn)只能點(diǎn)擊一個(gè)。

性別:


多選checkbox :name值相同。

愛好:


跳舞
rap
籃球

select下拉選擇 :后臺(tái)通過degree作為參數(shù),獲取選中的那個(gè)option的value值。

下拉選擇:

textarea文本域 :rows定義顯示的行數(shù),cols定義的是顯示的列數(shù)。

文本域:

后臺(tái)接收數(shù)據(jù)

接收表單數(shù)據(jù):

String 表單name= request.getParameter(表單name);

普通input、單選radio、select下拉選擇、textarea文本域可通過此方法獲取。

String[] hobbies = request.getParameterValues("hobby");

多選checkbox可通過此方法獲取。

中文亂碼處理

GET方式提交的數(shù)據(jù)

先通過 String username = request.getParameter(username) 獲得該表單的值,此時(shí)是亂碼的。

使用String new_username = new String(username.getBytes("iso8859-1"), "utf-8") 進(jìn)行編碼轉(zhuǎn)換

相關(guān)APi :

String(byte[] bytes, Charset charset) 構(gòu)造一個(gè)新的String,由指定的字節(jié)的數(shù)組轉(zhuǎn)化為指定編碼的字節(jié)數(shù)組。

getBytes(Charset charset)使用指定的編碼方式將該String編碼為字節(jié)序列,將結(jié)果存儲(chǔ)到新的字節(jié)數(shù)組中。

解釋:通過get方式提交的數(shù)據(jù)的編碼方式為iso8859-1, 先獲取該編碼方式的字節(jié)數(shù)組,再將該字節(jié)數(shù)組轉(zhuǎn)化為utf-8編碼的字節(jié)數(shù)組,然后將該字節(jié)數(shù)組轉(zhuǎn)換為字符串。

POST方式提交的數(shù)據(jù)

request.setCharacterEncoding("utf-8");

服務(wù)器端向客戶端發(fā)送的數(shù)據(jù)

response.setContentType("text/html;charset=utf-8");

以下是全部代碼:

GET提交方式:

@WebServlet(name = "RegisterServlet",urlPatterns = "/register")
public class RegisterServlet extends HttpServlet {
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //get提交方式處理中文亂碼
    String username = request.getParameter("username");
    String new_username = new String(username.getBytes("iso8859-1"), "utf-8");
    
    String password = request.getParameter("password");
    String new_password = new String(password.getBytes("iso8859-1"), "utf-8");
    
    String gender = request.getParameter("gender");
    String new_gender = new String(gender.getBytes("iso8859-1"), "utf-8");
    
    String[] hobbies = request.getParameterValues("hobby");
    for (int i = 0; i < hobbies.length; i++) {
      hobbies[i]=new String(hobbies[i].getBytes("iso8859-1"), "utf-8");
    }
    
    String degree = request.getParameter("degree");
    String new_password = new String(password.getBytes("iso8859-1"), "utf-8");
    
    String other = request.getParameter("other");
    String new_password = new String(password.getBytes("iso8859-1"), "utf-8");
  }

  protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    doPost(request, response);
  }
}

新聞標(biāo)題:Javaweb接收表單數(shù)據(jù)并處理中文亂碼的方法-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/ddecdh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部