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

coldplay.xixi
coldplay.xixioriginal
2020-11-02 13:47:343989parcourir

Solution au Excel tronqué exporté par PHP : 1. Transcoder [$filename] et exécuter l'instruction [iconv('utf-8", "gb2312", $filename)] ; 2. Définir le jeu de caractères Excel, l'encodage de la page Web est cohérent avec [charset=UTF-8]

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

Solution à Excel tronqué exporté par php :

1. Résoudre le problème des noms de fichiers tronqués exportés vers Excel par PHP :

Cause des caractères tronqués : le client utilise la version chinoise de la plate-forme système Windows et l'encodage du nom de fichier. de la plate-forme Windows est gb2312 (gbk) , et le codage de nos pages Web utilise généralement le codage utf-8 (internationalisation) afin de suivre la tendance existante, 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, il n'est pas nécessaire de considérer les problèmes d'encodage.

Solution : Transcodez $filename, exécutez : 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.

2. Résoudre le problème du code Excel tronqué exporté par PHP des données dans Excel :

La raison pour laquelle PHP a exporté le code Excel tronqué : l'encodage de la page Web est incohérent avec l'encodage Excel.

Solution : Étant donné que l'encodage est incohérent, il sera OK de le rendre cohérent. Définissez le jeu de caractères d'Excel : header("Content-Type: application/vnd.ms-excel; charset=UTF-8") Vous verrez charset=UTF-8 Rendez-le cohérent avec l'encodage de votre page Web pour résoudre le problème d'Excel. Les données internes sont tronquées. C'est relativement simple !

Recommandations vidéo associées : Programmation PHP de l'entrée à la maîtrise

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