sst['data' ][ $ind])"; 2. Commentez la fonction "uc2html"."/> sst['data' ][ $ind])"; 2. Commentez la fonction "uc2html".">

Maison  >  Article  >  développement back-end  >  Comment résoudre le problème des caractères tronqués dans Excel lors de la lecture par PHP

Comment résoudre le problème des caractères tronqués dans Excel lors de la lecture par PHP

藏色散人
藏色散人original
2020-09-04 10:10:443521parcourir

Solution au problème tronqué de la lecture d'Excel en PHP : 1. Modifiez le fichier de classe "excel_class.php" en "$s=iconv('utf-16le','utf-8′,$exc- > sst['data'][$ind])"; 2. Commentez la fonction "uc2html".

Comment résoudre le problème des caractères tronqués dans Excel lors de la lecture par PHP

Recommandé : "Tutoriel vidéo PHP"

php lit Excel chinois tronqué excel_class...

Aujourd'hui, j'ai rencontré un gros problème, qui est le gros problème de lecture des caractères chinois tronqués dans Excel !

Excel_class.php est un outil permettant à php d'importer Excel. Il peut facilement importer des données d'Excel vers php, et peut également utiliser php pour importer des données dans Excel. Mais aujourd'hui, il est très inefficace !

J'ai collecté beaucoup d'informations mais je n'ai pas pu les trouver. Puis j'ai pensé : Baidu est notre meilleur professeur. D'accord, allons trouver le professeur maintenant !

Effectivement, j'ai cherché sur Baidu comment cet outil gère les caractères tronqués.

La première méthode : modifier le fichier de classe excel_class.php, trouver $s = uc2html($exc->sst['data'][$ind]); avec $ s = iconv('utf-16le','utf-8′,$exc->sst['data'][$ind]), donc l'encodage est utf-8.

Si vous souhaitez toujours importer les données dans MySQL et votre encodage MySQL est GB2312, vous devez alors transférer les données de utf-8 vers gb2312. Vous pouvez le faire : $s=iconv("UTF-8″",GB2312″. ,$s ).

Deuxième méthode : ouvrez excel_class.php, recherchez la fonction uc2html, commentez le code dans la fonction et renvoyez directement les paramètres, c'est-à-dire en modifiant la fonction sans effectuer aucune opération.

function uc2html($str) {
return $str;
}

Utilisez ensuite la fonction mb_convert_encoding fournie en PHP pour convertir UTF-16LE en UTF-8.

echo mb_convert_encoding($return[Sheet2][0][0], ‘UTF-8′, ‘UTF-16LE’);

De cette façon, l'affichage sera normal.

Résumé : Lors de mon test, il a été recommandé d'utiliser la première méthode. La deuxième méthode transformait les chiffres en caractères tronqués (je ne sais pas pourquoi).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn