J'ai un script qui génère un fichier CSV à l'aide du code suivant: La variable de contenu $ contient simplement des lignes avec des champs séparés par des virgules, puis finalisées avec. "\ n"; Pour générer une nouvelle ligne. p> Lorsque j'ouvre le fichier en CSV, il a l'air bien, lorsque j'essaie d'utiliser le fichier à importer dans un programme externe (MyOB), il ne reconnaît pas la fin de la ligne ( \ n) caractère et suppose une longue ligne de texte. p> Lorsque j'en affiche le contenu du fichier dans le bloc-notes, le caractère de fin de ligne (\ n) est une petite boîte rectangle qui ressemble au code de caractère 0x7F. P> Si j'ouvre le fichier et que je l'enregistre dans Excel, il supprime ce caractère et le remplace par un caractère de fin de ligne et je peux importer le fichier. P> Quel personnage dois-je générer en PHP pour que le bloc-notes le reconnaisse comme un caractère de fin de ligne valide? (\ n) évidemment ne fait pas le travail. P> p>
3 Réponses :
Utilisez "\ r \ n". (avec des citations doubles) p>
Ce qui précède est les caractères ASCII pour le retour de chariot + l'alimentation en ligne. p>
Historiquement, cela concerne les premiers jours de calcul sur les télétypes lorsque la sortie a été imprimée sur du papier et le renvoyer le chariot de la tête de tétype vers le début de la ligne était une opération distincte pour alimenter une ligne via l'imprimante. Vous pouvez écraser les lignes en faisant un retour de chariot et insérez des lignes vides par une seule alimentation en ligne. Faire tous les deux renvoyés la tête au début de la ligne et la nourrir une nouvelle ligne à imprimer. P>
Quelle était exactement requise différaient entre les systèmes - p>
Alors, ce que vous générez au moment est une nouvelle ligne sur un système UNIX uniquement. Wikipedia a tout à fait un bonne page à ce sujet. P>
Il y a des outils de ligne de commande UNIX pour faire la conversion aussi. Les commandes UNIX2DOS et DOS2UNIX convertissent les fichiers texte ASCII en arrière et vers l'avant entre les formats UNIX et DOS en convertissant une alimentation en ligne vers la ligne d'alimentation en ligne et le retour du chariot et la Vica Versa. p>
Assurez-vous d'utiliser des guillemets doubles autour du \ R \ N, pas des citations simples telles que mentionnées dans la réponse précédente! P>
J'ai expérimenté le même problème. Plus tard j'ai remplacé I.e. Garder les citations extérieures plutôt doubles que la célibataire dans $ Content forte> variable. p>
et cela a fonctionné :) p>
citations simples ' code> avec doubles citations
" code>
Construire $ Content Strong> variable. p>