1. 程式人生 > >tomcat下 下載檔案,下載地址含有中文,解決辦法

tomcat下 下載檔案,下載地址含有中文,解決辦法

(一)修改Tomcat配置檔案方法:
找到Tomcat 目錄,開啟config/server.xml檔案,新增一段程式碼即可。如紅色的字型
  <Connector port="8080" 
             URIEncoding="utf-8" 
             protocol="HTTP/1.1" 
             connectionTimeout="20000" 
             redirectPort="8443" /> 
這段程式碼規定了Tomcat監聽HTTP請求的埠號等資訊,可以在這裡新增一個屬性:URIEncoding,將該屬性值設定為UTF-8,即可讓Tomcat不再以ISO-8859-1的編碼處理get請求。更改後的程式碼(紅色部分為新新增的程式碼) 


(二)Java程式碼實現

java.net.URLConnection和java.net.URL是遠端讀取檔案重要的類。因為當前的檔名是中文

,如果直接構造字串“http://localhost:8080/ahoa_test/filetemp/營業部執照.jpg”

讀取遠端檔案必要要出錯。需要對"中文檔案.txt"進行編碼,如下程式碼:

 
String name="營業部執照.jpg";
		try {
			name=java.net.URLEncoder.encode(name,"UTF-8");
		} catch (UnsupportedEncodingException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 
		System.out.println(name);
輸出結果為:%E8%90%A5%E4%B8%9A%E9%83%A8%E6%89%A7%E7%85%A7.jpg

瀏覽器中輸入:

http://localhost:8080/ahoa_test/filetemp/%E8%90%A5%E4%B8%9A%E9%83%A8%E6%89%A7%E7%85%A7.jpg

得到結果: