Maison > développement back-end > Problème PHP > 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

藏色散人
Libérer: 2023-03-05 18:30:01
original
3643 Les gens l'ont consulté

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;
}
Copier après la connexion

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’);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal