2016-07-08 56 views
0

我正在寫一個CSV文件,其中包含帶英國英鎊和歐元符號的文本,但是當我在Excel中打開該文件時,發現一些相當奇怪的行爲。我在英鎊之前看到了一些奇怪的A型符號,並且引用了歐元符號而不是引號。我想這可能是因爲Excel不喜歡UTF8編碼的文件。無法將英鎊或歐元符號寫入CSV文件 - Nodejs

fs.writeFileAsync("the-file.csv", text-containing-foreing-currency, "utf8"); 

有沒有人知道一種方法來解決這個問題,而創建該文件?我不希望用戶在下載文件後不得不對excel進行任何操作,我只是希望他們能夠打開文件並查看正確的符號。

+0

這聽起來好像你是一個資源管理器窗口中雙擊CSV打開它(默認文件關聯)在Excel中。使用VBA的[Workbooks.OpenText方法](https://msdn.microsoft.com/en-us/library/office/ff837097.aspx),將Excel打開到空白工作簿並使用數據獲取外部數據►從文本中指定在嚮導的第一頁上使用文件原始代碼頁或使用文件,打開,文本文件並使用文件原點指定代碼頁。 – Jeeped

+0

你可以顯示問題的截圖嗎? –

回答

1

節點向文件寫入符號應該沒有問題,如果用文本編輯器打開它,應該看到正確的字符。

問題是用excel打開UTF8 csv文件。默認情況下,它假設ANSI編碼,所以如果文件是UTF8,它會對字符進行加擾。您可以使用text import wizard正確打開文件。通常這是excel的限制。最適合您的解決方法取決於您的操作系統和Excel版本。這是一個沉重討論的話題,這裏有一些很好寫着:

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

Which encoding opens CSV files correctly with Excel on both Mac and Windows?