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

これは古い投稿だと思いますが、確認すべきことの 1 つは、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 に答える