Maison  >  Article  >  développement back-end  >  Que faire si php exporte Excel avec des caractères tronqués

Que faire si php exporte Excel avec des caractères tronqués

藏色散人
藏色散人original
2020-11-24 09:43:334194parcourir

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 ;

Que faire si php exporte Excel avec des caractères tronqués

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 :

    Les fichiers PHP sont codés en UTF -8 , et spécifiez l'encodage de l'en-tête comme

  1. UTF-8 header("Content-type:application/vnd.ms-excel;charset=UTF-8");

  2. L'encodage de la base de données est défini sur UTF-8
  3. et utilisez un tableau pour la mise en page (à ajouter avant d'exporter la nomenclature du document )

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