2

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

PHP 通知: iconv()[function.iconv]:在第 1718 行的 C:\web\docs\housing\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任意数量的随机字符集,但显然没有帮助。

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

4

3 回答 3

3

我意识到这是一篇旧帖子,但要检查的一件事是您的 excel 文件中是否有任何链接。我遇到了完全相同的问题,并通过从 excel 文件中删除任何超链接来解决。

于 2010-05-03T19:50:16.110 回答
1

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

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

于 2010-07-28T22:20:20.947 回答
0

尝试 :

$result = iconv('UTF-16LE', $this->_defaultEncoding . "//IGNORE", $string);
于 2009-09-24T00:27:04.250 回答