2017-06-12 103 views
1

我的oracle數據庫中有西班牙語數據(charectorset AL32UTF8)。我正在從數據庫讀取數據並寫入csv文件,並從csv我正在讀取數據並執行一些操作。但在csv文件中顯示垃圾值。在Windows上的Excel中無法正確顯示的西班牙語特殊字符在linux上工作

我在linux上做了同樣的事情,它工作正常。

public class T { 

    CSVWriter out = null; 

    private void write(String[] values) throws IOException { 
     out.writeNext(values); 
    } 

    public static void main(String[] args) throws IOException { 

     File f = new File("s.csv"); 

     FileOutputStream os = new FileOutputStream(f, false); 

     CSVWriter out = new CSVWriter(
      new BufferedWriter(
       new OutputStreamWriter(
        os, "UTF-8"))); 
    } 
} 
+0

您是否嘗試過指定的編碼? – Hamperfait

+1

郵編你如何閱讀 –

+0

嗯,我想,在Windows系統字符集(這是EXCEL用來讀取CSV文件)不是UTF-8。 – Henry

回答

0

你必須告訴Excel中使用打開CSV時,正確的編碼文件

見下圖:

Is it possible to force Excel recognize UTF-8 CSV files automatically?

+0

我不想手動做,java應該正確讀取excel。 – ramya

+0

從代碼中,我看到您在創建csv文件時正確使用UTF-8。然後在打開/讀取Java文件中的CSV文件時,只能使用「UTF-8」。 BufferedReader in = new BufferedReader( \t \t new InputStreamReader( new FileInputStream(「your CSV file goes here」),「UTF8」)); –

+0

其他語言在窗口中工作 – ramya

相關問題