PHP ile XLS dosyaları okuma karakter kodlama sorunları olduğunda

3 Cevap php

Bazı XLS dosyaları okumak için PHP-Excel-Reader kitaplık kullanıyorum ve hemen bu sorunu vurdu:

PHP Notice: iconv() [function.iconv]: \ hattında 1718 web \ docs \ konut \ excel_reader2.php: C giriş dizesi eksik çokbaytlı karakteri algılandı

Söz konusu çizgi şudur:

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

Ve ben sorunu teşhis yardımcı olmak için önce bazı hata ayıklama bilgisi ekledik:

var_dump($string);                   // string(10) "A�r�i�a�l�"
echo bin2hex($string) . "\n";        // 41007200690061006c00
echo $this->_defaultEncoding . "\n"; // UTF-8

Ben rastgele karakter setlerinin herhangi bir sayı için _defaultEncoding değiştirerek denedim ama açıkçası yardım etmedi.

Herkes herhangi bir ipucu varsa, yardım lütfen!

3 Cevap

Ben bu eski bir yazı olduğunu fark, ancak excel dosyasında herhangi bir bağlantıları olup olmadığını kontrol etmek bir şeydir. Ben aynı sorunu koştu ve excel dosyasını herhangi köprüleri kaldırarak çözüldü.

öyle bir uyarı beri bunu denemek göz ardı edebilir:

$ Result = @ iconv ('UTF-16LE', $ this-> _defaultEncoding, $ string);

deneyin:

$result = iconv('UTF-16LE', $this->_defaultEncoding . "//IGNORE", $string);