tomcat中的URL參數為中文,servlet接收后顯示亂碼


 URL中參數的值為中文時,servlet接收后顯示為亂碼,如下圖:

 

 這時候需要修改tomcat的中的server.xml文件。該文件路徑為 tomcat安裝目錄下的conf文件夾。
 
為修改前的server.xml文件。

 

修改后的server.xml文件。增加了一行: URIEncoding="UTF-8" 

 

 

 

 修改后重啟tomcat服務器,然后測試正常。

 

 
利用request.setCharacterEncoding("UTF-8");來設置Tomcat接收請求的編碼格式,

 

只對POST方式提交的數據有效,對GET方式提交的數據無效!

 

要設置GET的編碼,可以修改server.xml文件中,相應的端口的Connector的屬性:URIEncoding="UTF-8",這樣,GET方式提交的數據才會被正確解碼。

 

ps:2017年4月20日

最近看書,知道為什么 request.setCharacterEncoding("UTF-8")只能對post提交的數據有效。

    因為post提交的數據是封裝在網頁正文里面的。服務器接收后,可以處理成UTF-8 

    而get提交的時候,數據是在URL里面的。因為要去tomcat里面單獨設置URIEncoding="UTF-8" 。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM