2017-06-14 84 views
-2

我在閱讀csv文件時遇到問題。使用不同系統語言的Mac OS csv編碼

我的任務是通過php導入csv文件。 客戶在Mac上的Excel中創建了他的csv文件。該文件包含德文字母,如äüöß。 當我打開它時,這些字母會崩潰(在Windows的所有程序中)。將系統語言設置爲英語(當設置俄語時,TextEdit也顯示錯誤字符)時,正確使用它的唯一方法是在Mac上的TextEdit中打開文件。

墜毀信件的例子:ナttinger,J゚rgen; ķハ的; Empfハger

請幫助我,我試過所有可能的方式來編碼文件,但沒有結果。 mb_detect_encoding顯示UTF-8。

當我甚至無法在計算機上正確打開它時,我該如何正確讀取它?

爲什麼在Mac上讀取csv文件取決於系統語言?

+1

聽起來更像是一個軟件問題,而不是編碼問題。 – apokryfos

+0

您是否碰到過使用PHP導入文件的具體問題? UTF-8通常可以很好地與PHP協同工作,例如CSV功能可以很好地解析UTF-8編碼的CSV文件數據(一種常見的例外是能夠打破第一個字段/記錄並需要首先過濾的BOM)。爲了更好地檢查桌面上的CSV文件,您可以嘗試Libre/Open Office,它允許您在打開文件時檢查各種字符編碼設置。 - 另請參見:[哪種編碼可以在Mac和Windows上使用Excel正確打開CSV文件?](https://stackoverflow.com/q/6588068/367456) – hakre

+0

請參閱下面的答案 –

回答

0

解決方案對我來說是添加此行:

$line = iconv('macintosh', 'UTF-8', $line);