Maison >développement back-end >tutoriel php >Pourquoi mon fichier CSV UTF-8 affiche-t-il des caractères spéciaux incorrects dans Excel et comment puis-je y remédier ?

Pourquoi mon fichier CSV UTF-8 affiche-t-il des caractères spéciaux incorrects dans Excel et comment puis-je y remédier ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-20 16:58:16734parcourir

Why Does My UTF-8 CSV File Display Incorrect Special Characters in Excel, and How Can I Fix It?

Problème lors de l'exportation d'un fichier CSV UTF-8 pour Excel

Malgré les en-têtes appropriés pour l'encodage UTF-8, Excel affiche obstinément les caractères spéciaux de manière incorrecte lors de l'importation d'un CSV généré avec PHP. Ce problème frustrant a laissé de nombreux utilisateurs perplexes, y compris l'auteur du message original.

La suggestion courante d'inclure la nomenclature (Byte Order Mark) s'est avérée insaisissable pour certains, car son ajout entraîne l'ajout par Excel de la nomenclature à la première cellule. Cependant, une solution a émergé d'un utilisateur qui a réussi en ajoutant explicitement la nomenclature à la sortie à l'aide du code suivant :

header('Content-type: text/csv; charset=UTF-8');
header('Content-Disposition: attachment; filename=Customers_Export.csv');
echo "\xEF\xBB\xBF"; // UTF-8 BOM

Bien que cette approche ne soit pas idéale, elle a effectivement résolu le problème d'encodage pour Excel 2007 Windows. . On ne sait pas si cela fonctionnera ou non sur Mac OS.

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