excel ne reconnait pas mes csv

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : excel ne reconnait pas mes csv

Re: excel ne reconnait pas mes csv

par Saian » 09 mai 2023, 13:06

Salut, j'ai fait un test fonctionnel chez moi avec ça :
fwrite($handle, chr(0xEF) . chr(0xBB) . chr(0xBF));
Fichier ouvert en mode r ou rb, même résultat.

A noter qu'avec ou sans le marqueur BOM le fichier s'ouvre bien, la seule différence étant la reconnaissance ou non des caractères accentués.

Donc pour ton problème je dirais au doigt mouillé, soit il y a un problème avec le BOM qui a pourtant l'air bon, soit il y a quelque chose dans $final qui pose problème quand le BOM est présent.

Dans tous les cas, une autre idée serait de convertir le contenu en encodage Windows-1252 sans BOM. A tester.

Re: excel ne reconnait pas mes csv

par stef31 » 09 mai 2023, 11:23

fputs($ouvre, chr(0xEF).chr(0xBB).chr(0xBF)); fait la même chose que les autres

Re: excel ne reconnait pas mes csv

par stef31 » 09 mai 2023, 11:22

Oui il parait normal et quand on compare le fichier généré en php avec le fichier converti en excel il n'y a aucune différence visible à l'œil nu, c'es probablement dans le bom

Re: excel ne reconnait pas mes csv

par Spols » 09 mai 2023, 11:16

et
fputs($ouvre, chr(0xEF).chr(0xBB).chr(0xBF));
?
car fprintf est pour une chaine formatée

Dans tous les cas, ouvre ton fichier avec un éditeur de texte pour voir si il parait "normal"

Re: excel ne reconnait pas mes csv

par stef31 » 09 mai 2023, 10:56

à savoir que dans les deux cas cela corrige bien les accents etc, mais ne garde pas le format csv
si j'enlève la ligne, je retrouve le format csv mais je n'ai plus la correction des accents

Re: excel ne reconnait pas mes csv

par stef31 » 09 mai 2023, 10:51

j'ai également tenté avec

Code : Tout sélectionner

fprintf($ouvre, chr(0xEF).chr(0xBB).chr(0xBF));

Re: excel ne reconnait pas mes csv

par @rthur » 09 mai 2023, 10:49

Je pense que ta première ligne n'est pas correcte, tu mets le résultat de ton affectation, et non pas la valeur du BOM

excel ne reconnait pas mes csv

par stef31 » 09 mai 2023, 10:42

Bonjour à tous,

j'ai créé un ficher csv

à la fin de ce dernier je tape

Code : Tout sélectionner

fputs($ouvre, $bom =( chr(0xEF) . chr(0xBB) . chr(0xBF) )); //pour qu'excel reconnaisse le format UTF 8 fwrite($ouvre,$final); fclose($ouvre);
Malheureusement, quand je fais ça Excel (et pas seulement) ne reconnait plus le format csv et propose text unicode par défaut, ce qui est assez embêtant.

Je pourrai évidemment simplement enregistrer sous , et cocher csv point virgule sur excel, ce qui fonctionne, mais ce n'et pas le but.

Merci, stef