tomcat處理中文文件名的訪問(亂碼)


解決問題的核心在於修改Tomcat的配置,在Server.xml文件中添加一個名為URIEncoding的屬性,它用於對HTTP請求中的get方法傳過來的URL進行編碼。Tomcat內置的對於get協議中的URL編碼是ISO-8859-1,這個字符集不能直接支持中文等雙字節的信息,而中文文件的下載鏈接恰恰是通過get協議進行的。

    打開$tomcat安裝目錄$/config/server.xml文件,在其中找到如下代碼:

<Connector port="8080" protocol="HTTP/1.1" 
connectionTimeout="20000" 
redirectPort="8443" />

 

 

 

    這段代碼規定了Tomcat監聽HTTP請求的端口號等信息,在這里添加一個屬性:URIEncoding,值為UTF-8,即可讓Tomcat以UTF-8的編碼處理get請求:

<Connector port="8080" protocol="HTTP/1.1" 
URIEncoding="utf-8" 
connectionTimeout="20000" 
redirectPort="8443" />

 

 

 

 

在Web應用程序中 如果調用response.sendRedirect()方法重定向到中文文件名的頁面 需要如下的方式調用

response.secdRedirect(java.net.URLEncoder.encode("員工信息.html","UTF-8"));

 


免責聲明!

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



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