使用PHP读取XLS文件时的字符编码问题

我正在使用PHP-Excel-Reader库来读取一些XLS文件,并立即遇到了这个问题:

PHP注意: iconv() [function.iconv]:在1718行的C:\ web \ docs \ housing \ excel_reader2.php中的inputstring中检测到一个不完整的多字节字符

这条线是这样的:

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

我之前添加了一些debugging信息来帮助诊断问题:

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

我试图改变到_defaultEncoding任意数量的随机字符集,但它显然没有帮助。

如果有人有任何线索,请帮忙!

我意识到这是一个旧的post,但有一点要检查是否有任何链接在您的Excel文件。 我跑到了完全相同的问题,并通过从Excel文件中删除任何超链接解决。

既然这是一个警告,你可以忽略它试试这个:

$ result = @iconv('UTF-16LE',$ this – > _ defaultEncoding,$ string);

尝试:

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