jsp亂碼解決(get和post請求狀況不一樣)

當輸入中文時method=get時顯示亂碼 tomcat

 

當輸入中文時method=post時中文正常顯示 服務器

 

 緣由:就是當請求方式是GET時,並不把表單數據封裝在請求信息的正文中,請求的只是簡單的想獲取 並不發送信息給服務器, 
*並無將(表單等)信息 傳遞給HTTP服務器,因此服務器在經過HttpServletRequest檢索不到客戶端在頁面上輸入的信息。 
         經過POST時,除了請求外,還外加發送信息給服務器,因此服務器能夠經過HttpServletRequest檢索到客戶端在頁面上輸入的信息 
       (POST方式將頁面上的表單數據封裝在HttpServletRequest中做爲請求信息發給了服務器程序)
post

解決辦法:編碼

接受參數時進行編碼轉換spa

String str = new String(request.getParameter("something").getBytes("ISO-8859-1"),"utf-8") .net

或者修改tomcat的配置文件server.xmldebug

Xml代碼 
<Connector     
           port="8080"   
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"   
           enableLookups="false" redirectPort="8443" acceptCount="100"   
           debug="0" connectionTimeout="20000"     
           disableUploadTimeout="true" useBodyEncodingForURI="true"  />   
server

其中  useBodyEncodingForURI="true"爲添加的內容!xml

也能夠加上:URIEncoding="UTF-8"(有可能影響其餘應用,因此不推薦)。 blog

 

後續有不少開發填坑的文章發佈,若是對你有幫助,請支持和加關注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

相關文章
相關標籤/搜索