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 ?
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!