2016-06-07 167 views
2

必須生成包含雙字節字符(中文,日文)的CSV文件時,打開CSV文件並在使用文本編輯器時正確讀取文本。CSV:如何包含雙字節字符

但生成的CSV文件在Excel中打開時會顯示垃圾文本,我錯過了什麼?

回答

1

不幸的是,你不要錯過的東西。如果您只是使用Excel打開它們,那麼Microsoft無法正確處理帶有Unicode的CSV文件。

如果Excel保存CSV文件,它將使用而不是 unicode編碼,但會根據Office語言版本的默認其他ISO編碼進行編碼。不僅這個unicode不是默認的,儘管它是21世紀的藝術品,但是在使用Excel保存CSV的同時甚至不可能使用unicode。唯一可以保存unicode的文件格式是Unicode Text (*.txt)。但這是一個製表符分隔的文本格式而不是CSV。

因此,如果Excel打開CSV文件,它會而不是假定它在unicode。相反,它會採用保存CSV時使用的相同默認編碼。這就是爲什麼如果垃圾字符 unicode在CSV中發生。

有一個例外。如果CSV是UTF-8編碼有一個UTF-8 BOM在文件定界符開始時默認的分隔符,然後Excel的可以正確打開這個CSV。

但也有一個Text Import Wizard。如果您正在使用此功能,則可以使用File origin確定步驟1中的編碼。 65001 : Unicode (UTF-8)將是UTF-8。該向導應該能夠正確導入所有CSV文件。