Maison > Article > développement back-end > Que faire si php exporte Excel avec des caractères tronqués
Solution pour Excel tronqué exporté par PHP : 1. Définissez l'encodage du fichier PHP sur UTF8 et spécifiez l'encodage de l'en-tête sur UTF8 ; 2. Définissez l'encodage de la base de données sur UTF8 ;
Recommandé : "Tutoriel vidéo PHP"
L'environnement d'exploitation de ce tutoriel : Système Windows 7, PHP version 5.6, cette méthode convient à toutes les marques d'ordinateurs.
Résoudre le problème des caractères tronqués exportés vers Excel à l'aide de PHP à l'aide de CVS
Après avoir utilisé PHP pour générer un CVS fichier, ouvrez-le via Excel et trouvez le chinois. Tout s'est transformé en caractères tronqués. C'était normal sur mon win08 local via WPS, mais une fois téléchargé sur le serveur Linux et testé sur le serveur, des caractères tronqués sont apparus
Au début, c'était un problème avec Linux, mais plus tard je l'ai testé, j'ai découvert qu'il s'agissait d'un problème WPS (en devinant que WPS avait peut-être traité l'encodage, et l'ouvrir via Excel sur le serveur l'était également. tronqué)
Parce que dans mon fichier PHP et ma base de données Les encodages sont tous au format UTF-8 et l'encodage ouvert avec un éditeur de texte est également UTF-8
Code PHP
Le document CVS exporté ne comporte aucun caractère tronqué lorsqu'il est ouvert à l'aide d'un éditeur de texte
Lors de l'ouverture avec Excel, des caractères sont tronqués
De nombreuses personnes sur le Internet dit de convertir les données de la base de données d'UTF-8 en GBK ou de spécifier l'encodage dans l'en-tête. Les deux méthodes ont été essayées mais toujours en vain
$html .= iconv("UTF-8","GBK",$row[$key]).$tab; header("Content-type: text/html; charset=utf-8")Donc dans cet article j'ai découvert que tant que j'ajoutais la nomenclature avant d'exporter le document, le problème était résolu : lors de l'exportation d'un fichier CSV avec PHP et de son ouverture avec Excel, des caractères chinois tronqués apparaissent (https:// xinpure.com /php-export-csv-file-opened-by-excel-apparaît-garbled/)
Mais après la nomenclature, les cellules de chaque ligne sont fusionnées en une seule (t) mais utilisez le tableau pour résoudre le problème de saut de ligne, mais j'ai découvert de manière inattendue que l'utilisation de Table résolvait le problème de code tronqué (aucune nomenclature requise)
Solution :UTF-8 header("Content-type:application/vnd.ms-excel;charset=UTF-8");
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!