Création fichier CSV avec accent en UTF8

SanjeeOnP

Nouveau membre
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
Code:
for ($i = 1 ; $i < count($tab) ; $i++)
	{
		$str = trim($tab[$i]);
		list($subseg, $null) = explode('</item>', $str, 2);
		
		// On récupère les champs du segment
		
		...
                ...
		
		
		
		$csv .= '"'.$brand_csv_tag.'";"'.$title.'";"'.$value_csv_tag.'";"'.$description.'";"'.$date_debut.'";"'.$date_fin.'";"'.$url.'";"'.$code.'";""'."\r\n";
		
	}


//ecriture du CSV
	
	$date_Du_Jour=date('d').'-'.date('m').'-'.date('Y');
	$nom_Fichier = $date_Du_Jour.'.csv';
	
	$csv = utf8_encode($csv);
	
	@unlink($nom_Fichier);
	@touch($nom_Fichier);
	$fp = fopen($nom_Fichier, "a");
	
	fwrite($fp, $csv);
	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) par
Code:
 (Code :) ) comme exigé par le règlement. Fais-le de toi-même la prochaine fois ;)[/size][/i]
 

chonos

Helper
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"


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+
 

SanjeeOnP

Nouveau membre
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...
 

chonos

Helper
oui c'est cela pour la 1er partie.

mais en suite dans (open office cal) j'ai inscrit "é" et enregister dans un fichier au format csv

quand j'ai ouver ce csv avec excel j'ai eu "é" a la place du "é"
a+



 

SanjeeOnP

Nouveau membre
Oui mais mon but c'est justement d'avoir é.
J'ai trouvé une parade : les macros.
On définit pluisieurs macrios pour chaque caractère spéciales qu'on rencontre et voila !!!!
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 135
Messages
6 718 107
Membres
1 586 397
Dernier membre
Chachabidou
Partager cette page
Haut