slt à tous,
je me tourne vers vous pour un petit blem.

j'ai un petit bout de code qui exporte une bdd en csv, jusqu'a la pas de blem particulier. Le seul souci c'est que la bdd et en utf-8 et donc dans excel cela créer des problème avec les accents et caractères spéciaux.

je vous met le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
// Connexion MySQL
// Obligatoire pour la suite !
 
// la variable qui va contenir les données CSV
$outputCsv = '';
 
// Nom du fichier final
$fileName = 'export-stocklist.csv';
 
$requete = "SELECT * FROM catalogue ORDER BY ordre ASC";
$sql = mysql_query($requete);
if(mysql_num_rows($sql) > 0)
{
    $i = 0;
 
    while($Row = mysql_fetch_assoc($sql))
    {
        $i++;
 
        // Si c'est la 1er boucle, on affiche le nom des champs pour avoir un titre pour chaque colonne
        if($i == 1)
        {
            foreach($Row as $clef => $valeur)
                $outputCsv .= trim($clef).';';
 
            $outputCsv = rtrim($outputCsv, ';');
            $outputCsv .= "\n";
        }
 
        // On parcours $Row et on ajout chaque valeur à cette ligne
        foreach($Row as $clef => $valeur)
            $outputCsv .= trim($valeur).';';
 
        // Suppression du ; qui traine à la fin
        $outputCsv = rtrim($outputCsv, ';');
 
        // Saut de ligne
        $outputCsv .= "\n";
 
    }
 
}
else
    exit('Aucune donnée à enregistrer.');
 
// Entêtes (headers) PHP qui vont bien pour la création d'un fichier Excel CSV
header("Content-disposition: attachment; filename=".$fileName);
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: application/vnd.ms-excel\n");
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
 
echo $outputCsv;
exit();
quelle est la soluce pour que l'export se fasse de façon clin en csv ?
Merci d'avace de votre aide.
@+