最近有個項目場景如下:需要后台遍歷圖片、視頻所在的文件夾,獲取的到的路徑傳遞到JSP頁面,使用<img src="具體的路徑">顯示圖片。遇到的問題:如果圖片的路徑、圖片名存在中文,則<img> 無法讀取到圖片。
錯誤截圖:
原因:主要是由於字符編碼不一致,Tomcat5 的http Connector默認字符編碼是"iso-8859-1"。
解決辦法有如下兩種方式:
1.修改Tomcat中conf文件夾下的server.xml。找到 <Connector port="">,增加URIEncoding="UTF-8" ,指定URL的編碼為UTF-8;
2.本人使用的是內嵌的Tomcat,而項目的運行環境指定編碼為GBK,按照方法1修改,對其它功能會產生影響,這時可以這樣解決,在JAVA中對中午的路徑進行轉碼,使用URLEncoder.encode( 需要轉碼的內容, "gbk"),然后傳到頁面即可正常顯示。