2012-04-04 59 views
0

我建立在UTF-8一個CSV和寫入內容通過指定編碼如下CSV編碼規格

BufferedWriter outFile = new BufferedWriter(new OutputStreamWriter(outputStream, "UTF-8")); 

上述工作正常,直到我添加以下分離器指示,以支持德語和英語(;)在CSV的標頭中

outFile.write("sep=;"); 
outFile.newLine();  

沒有此分隔符;我的CSV將是錯誤的,但當我包含此編碼失敗和UTf-8不到位。

是否有任何其他的關鍵字等「SEP =」,以指定在CSV的標頭指定編碼?

我試圖編碼= 「UTF-8」 和它不工作。

謝謝。

+0

這是什麼語言?爲什麼它不在標籤中? – hroptatyr 2012-04-04 06:22:59

+0

嗨,這是用Java編寫的。我添加了標籤。感謝您的指示 – user1312074 2012-04-04 06:24:16

+0

你是什麼意思:編碼失敗? – oers 2012-04-04 07:01:35

回答

0

您不能打開使用Excel 2007的Microsft一個UTF8 CSV文件中沒有這個詞"standards"的理解。正因爲如此,它是出了名的難以產生,其在每一個可能的應用程序讀取的.csv文件,並保持正確的編碼,打開CSV文件。

如果必須使用Excel 2007,我會建議使用編碼與微軟自己的「窗口1252」,因爲它支持德語字符。不要使用標題,並且還要使用標籤作爲分隔符。是的,我知道c代表逗號,但如果您再次保存文件,選項卡似乎與Excel 2007更加一致。