1. 程式人生 > >Eclipse環境執行正常,打成jar執行,中文亂碼

Eclipse環境執行正常,打成jar執行,中文亂碼

近期開發一款可執行jar讀取csv檔案程式。

一切就緒後,eclipse環境之間執行均通過,使用maven install生成可執行jar,發現寫入庫裡寫入資料中文亂碼!

頓時以為maven打包導致,各種網上查詢修改pom.xml,可終究沒有解決。

中間突然想到,會不會是僅僅讀取csv檔案模組亂碼呢,程式碼修改測試,果真是讀取外部檔案時才會中文亂碼。

晚上查詢了一下,eclipse環境下執行使用的eclipse的編碼格式:UTF-8;

打包後,將使用作業系統的編碼格式。所以在讀取檔案時,指定編碼格式即可

FileInputStream fs = new FileInputStream(fileName);

InputStreamReader in = new InputStreamReader(fs,"UTF-8");

後續再使用InputStreamReader便可以

如:讀取properies檔案可以直接

new Properties().load(in);

讀取csv檔案,本人使用opencsv的jar

CSVReader reader = new CSVReader(in);