2011-07-13 43 views
5

你能幫我下面的問題writtent:Excel的讀者UTF問題

我收到錯誤的iconv()[function.iconv]:檢測到輸入字符串當我讀XLS非法字符文件並將其轉換爲csv。我使用php-excel-library和我得到這個錯誤行:

case 'iconv' :  
    $result = iconv('UTF-16LE', $this->_defaultEncoding, $string); 
break; 

是否enybody知道如何解決它?

回答

2

這意味着在你的文件中是一個無法映射到char的位序列,b/c沒有意義,因此不會被轉換爲另一個編碼。

使用// IGNORE標誌,如描述的here

+0

我也試過這個沒成功 – Gasper

+2

如果這對你沒有幫助,爲什麼你把它標記爲回答? – Tareq

0

確保該文件是UTF-16LE編碼的,因爲試圖導入錯誤的格式會導致這些類型的錯誤。

使用PHP 5.3或更高版本,作爲PHP < 5.3不能處理UTF-16編碼(點擊此處查看筆記:link

而不是不理你可能要嘗試// TRANSLIT擁有的iconv字符轉換爲一個是在你的默認編碼兼容(例如,將MS「花式引號」轉換爲ascii中的常規單/雙引號)

+0

我已經安裝了PHP 5.3.8,並且我嘗試了// TRANSLIT,並且它不起作用 – kukipei

+0

您是否能夠識別違規字符?嘗試調試以找出它所在的文件的哪一行,並縮小哪些字符不好。那是我第一步弄清楚的。如果你能找到有問題的字符,你可能能夠找出編碼問題。 –