2009-09-23 56 views
2

我使用PHP-Excel-Reader图书馆阅读一些XLS文件,并立即击中这个问题:字符编码问题读取XLS文件时,使用PHP

PHP的通知:iconv() [function.iconv]:检测到不完整在输入字符串的多字节字符在C:\网络\文档\上线1718

壳体\ excel_reader2.php所讨论的行是这样的:

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

而且我已经添加在此之前,一些调试信息,以帮助诊断问题:

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

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

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

回答

0

尝试:

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

是的,试了一下,但它没有奏效。 – nickf 2009-09-24 01:14:36

+0

你能举一个你的xls文件的例子吗 – bader 2009-09-24 12:18:15

3

我意识到这是一个古老的职位,但有一件事是检查是否有您的Excel文件中的任何链接。我跑到完全相同的问题,它通过从Excel文件中删除任何超链接解决。

+0

我有同样的问题。删除了超链接,一切都正常。 – infinity 2011-04-03 13:01:04

+0

如何删除超链接? – Naeem 2013-09-26 06:08:43

1

,因为它是一个警告你可能会忽略它试试这个:

$结果= @iconv( 'UTF-16LE',$此 - > _ defaultEncoding,$字符串);