2009-09-23 10 views
2

J'utilise la bibliothèque PHP-Excel-Reader pour lire certains fichiers XLS et immédiatement ont frappé cette question:problèmes de codage de caractères lors de la lecture des fichiers XLS avec PHP

PHP Notice: iconv() [function.iconv]: détectez une incomplète caractère multi-octets dans la chaîne d'entrée dans C: \ web \ Documents \ logement \ excel_reader2.php sur la ligne 1718

La ligne en question est la suivante:

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

Et j'ai ajouté quelques informations de débogage avant que pour aider à diagnostiquer le problème:

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

J'ai essayé de changer le _defaultEncoding à un certain nombre de jeux de caractères aléatoires, mais il n'a évidemment pas aidé.

Si quelqu'un a des indices, s'il vous plaît faites de l'aide!

Répondre

0

essayer:

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

Oui, essayé, mais cela n'a pas fonctionné. – nickf

+0

pouvez-vous donner un exemple de votre fichier xls – bader

3

Je sais que c'est un ancien poste, mais une chose à vérifier est s'il y a des liens dans votre fichier Excel. J'ai couru exactement le même problème et il a été résolu en supprimant tous les liens hypertexte du fichier Excel.

+0

J'ai le même problème. Supprimé les liens hypertexte et tout était OK. – infinity

+0

comment supprimer les hyperliens? – Naeem

1

car il est un avertissement que vous peut l'ignorer, essayez ceci:

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

Questions connexes