Maison > Article > développement back-end > Que faire si PHP Excel exporte des caractères tronqués
Il existe deux processus principaux lors de l'exportation de fichiers Excel avec Php :Solution au code tronqué exporté depuis php Excel : 1. Convertissez "$filename" et exécutez l'instruction "iconv('utf-8", "gb2312", $filename)" ; 2. Définissez les caractères Excel. set est "charset=UTF-8" Résolution des fichiers tronqués
1 Définir le nom du fichier
2. Remplissez les données Excel Il peut y avoir des caractères tronqués dans ces deux processus Permettez-moi de parler de la solution ci-dessous :
Résoudre les caractères tronqués dans le nom du fichier :
Cause des caractères tronqués : La version chinoise de la plate-forme système Windows utilisée par le client. Le codage du nom de fichier de la plate-forme Windows est gb2312 (gbk), et le codage de notre page Web utilise généralement le codage utf-8 (internationalisation) afin de suivre le codage. tendance existante. À ce moment-là, lorsque nous : header("Content-Disposition: inline; filename= /"" . $filename . ".xls/""), des caractères tronqués apparaîtront. Si l'encodage de votre page Web est gb2312, alors. il n'est pas nécessaire de considérer le problème d'encodage.
Solution : transcoder $filename, Exécution : iconv('utf-8", "gb2312", $filename). Si votre environnement ne prend pas en charge la fonction iconv, vous pouvez utiliser une autre fonction, à condition que l'encodage de $filename puisse être converti en gbk.
Mais ce problème se reproduira et les utilisateurs Linux auront des noms de fichiers tronqués (car les noms de fichiers de la plate-forme Linux ne sont pas codés en gbk).
Face à ce problème, j'ai adopté deux méthodes : Premièrement : abandonner certains clients, après tout, les utilisateurs du système Windows représentent la majorité. Deuxièmement : comme Gmail, deux adresses de téléchargement sont fournies. Un nom de fichier est codé en gbk et un autre nom de fichier est codé en utf-8.
Solution aux données tronquées dans Excel :
Cause du code tronqué : l'encodage des pages Web est incohérent avec l'encodage Excel.
Solution : Puisque l'encodage est incohérent, vous pourrez le rendre cohérent. Définissez le jeu de caractères d'Excel : header("Content-Type: application/vnd.ms-excel; charset=UTF-8"), voir charset=UTF-8, rendez-le cohérent avec l'encodage de votre page Web pour résoudre Excel. Les données internes sont tronqué. C'est relativement simple !
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!