Maison > Article > développement back-end > Que faire si php exporte Excel avec des caractères tronqués
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]
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!