讀取中文檔名出現亂碼

問題描述

[環境]
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

results matching ""

    No results matching ""