Se connecter avec
S'enregistrer | Connectez-vous

Création fichier CSV avec accent en UTF8

Dernière réponse : dans Programmation

Bonjour,
Je dois récupérer un flux XML, changer l'ordre des colonnes, et transformer ceci au format CSV.

Voici un bout de code
  1. for ($i = 1 ; $i < count($tab) ; $i++)
  2. {
  3. $str = trim($tab[$i]);
  4. list($subseg, $null) = explode('</item>', $str, 2);
  5.  
  6. // On récupère les champs du segment
  7.  
  8. ...
  9. ...
  10.  
  11.  
  12.  
  13. $csv .= '"'.$brand_csv_tag.'";"'.$title.'";"'.$value_csv_tag.'";"'.$description.'";"'.$date_debut.'";"'.$date_fin.'";"'.$url.'";"'.$code.'";""'."\r\n";
  14.  
  15. }
  16.  
  17.  
  18. //ecriture du CSV
  19.  
  20. $date_Du_Jour=date('d').'-'.date('m').'-'.date('Y');
  21. $nom_Fichier = $date_Du_Jour.'.csv';
  22.  
  23. $csv = utf8_encode($csv);
  24.  
  25. @unlink($nom_Fichier);
  26. @touch($nom_Fichier);
  27. $fp = fopen($nom_Fichier, "a");
  28.  
  29. fwrite($fp, $csv);
  30. fclose($fp);


Lorsque je fais un echo à la place de $csv .= '"'.$brand_csv_tag.'";"'.$title.'";"'.$value_csv_tag.'";"'.$description.'";"'.$date_debut.'";"'.$date_fin.'";"'.$url.'";"'.$code.'";""'."\r\n";
j'obtiens aussi quelque chose avec des accents qui ne marchent pas.
Le fichier csv ouvert avec excel, openoffice, ou notepad, donne toujours quelque chose de faux au niveau des accents.

Merci



_________________
Modérateur : J'ai remplacé
Citation :
(Citation) par [code] (Code :)  ) comme exigé par le règlement. Fais-le de toi-même la prochaine fois ;) 
Lassé par la pub ? Créez un compte

Salut,

J'ai fait un test simple et dont le résultat n'est pas super loin de là, mais qui peu explique en partie ton pb .

le test que j'ai converti " é è à" en UTF-8 : avec cette application web "20 C3 A9 20 20 C3 A8 20 C3 A0"
http://hapax.qc.ca/conversion.fr.html

J'ai copier le résultat dans notepad et enregister sous "a.cvs"
avec open office 3.0 j'ai ouvert ce fichier j'ai eu la boite de dialogue pour la convertion et une fois selectioner le bon format, je n'est pas eu les carractères accentués

j'ai supprimer le contenue de la cellule et j'ai écrit le "é" puis j'ai enregister sous "a.csv"

puis j'ai ouvert sous excel et le résultat : "é"

voilà si cela peut d'aider !
a+

salut,
Merci de ton aide, mais je ne comprends pas assez bien. J'ai copié la source de notepad dans "caractere" et pris ça en UTF8, c'est un peu de l'hexa non?
J'ai copié les données dans un notepad puis enregistré en utf8 et ouvert avec xl... bah ça donne toujours de l'hexa...
Lassé par la pub ? Créez un compte