Assurer la compatibilité Excel pour les sorties CSV UTF-8 en PHP
Bien que l'utilisation d'UTF-8 pour l'exportation CSV soit essentielle pour un encodage de caractères correct, les utilisateurs rencontrent souvent des problèmes lors de l'importation de tels fichiers dans Microsoft Excel. Pour résoudre ce problème, il est crucial de comprendre la gestion par Excel des fichiers CSV UTF-8.
La solution réside dans l'inclusion de la marque d'ordre des octets (BOM) au début du fichier CSV. La nomenclature est une séquence de trois octets qui identifie le codage de caractères UTF-8. En l'incorporant, Excel peut interpréter correctement le fichier au format UTF-8, permettant un affichage et une interprétation corrects des caractères spéciaux.
Pour incorporer la nomenclature, modifiez votre code PHP comme suit :
header('Content-type: text/csv; charset=UTF-8'); header('Content-Disposition: attachment; filename=CHS.csv'); echo "\xEF\xBB\xBF"; // UTF-8 BOM
La nomenclature peut être ajoutée sous forme de chaîne littérale, comme indiqué ci-dessus, ou générée dynamiquement à l'aide de la fonction pack() :
$bom = pack("CCC", 0xef, 0xbb, 0xbf); echo $bom;
En ajoutant la nomenclature à votre Sortie CSV, vous vous assurez qu'Excel interprète correctement le codage des caractères du fichier et affiche correctement les caractères spéciaux. Il a été signalé que cette solution fonctionne dans Excel 2007 pour Windows et peut également s'appliquer à Excel pour 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!