讀取中文檔名出現亂碼
問題描述
[環境]
OS : Linux centos 6.5
Server : Tomcat7
專案套件 : SpringMVC
利用File.listFiles方法讀中文檔名時,出現亂碼,導致讀檔失敗。
fileName=������������_A2012030000856_20160523001.pdf
解決方案
1.查看系統檔案編碼是否為UTF-8。
// 查看編碼
System.getProperty("file.encoding");
// 若編碼不是UTF-8,做設定的動作
System.setProperty("file.encoding", "UTF-8");
2.若第一點方法無效,則需修改Tomcat設定。
# 修改tomcat下catalina.sh檔,新增以下語句,並重啟。
export LANG=zh_TW.UTF-8
成功結果
fileName=類別樣板_A2012030000856_20160523001.pdf