當輸入中文時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
後續有不少開發填坑的文章發佈,若是對你有幫助,請支持和加關注一下