mbarekh | Bonjour,
j'espèqre que l 'un de vous aura la réponse à ce problème.
J'ai une application écrite en php avec un encodage utf8. J'utilise également une base de données mysql avec un encodage utf8.
Quelque part dans mon code, j'ouvre un fichier csv pour réucupérer les données qu'il y a dedans et les mettre dans la base.
Voici le code:
Code :
- /* Connexion bdd */
- include("connexionMySQL.php" );
-
- /* On ouvre le fichier à importer en lecture seulement */
- $fichier = "monfichier.csv";
- if (file_exists($fichier))
- $fp = fopen("$fichier", "r" );
- else
- { /* le fichier n'existe pas */
- echo "Fichier introuvable !<br>Importation stoppée.";
- exit();
- }
- $i=0;
- $ligne = fgets($fp,4096); //sauter la premiere ligne (les noms des champs)
- while (!feof($fp)) /* Et Hop on importe */
- { /* Tant qu'on n'atteint pas la fin du fichier */
- $ligne = fgets($fp,4096); /* On lit une ligne */
- $i++;
- /* On récupère les champs séparés par ; dans liste*/
- $liste = explode( ";",$ligne);
-
- /* On assigne les variables */
- $titre = utf8_encode(htmlspecialchars($liste[5],ENT_QUOTES));
- $objet = utf8_encode(htmlspecialchars($liste[6],ENT_QUOTES));
- $observations = utf8_encode(htmlspecialchars($liste[7],ENT_QUOTES));
- $type_doc = utf8_encode(htmlspecialchars($liste[8],ENT_QUOTES));
- $sous_type_doc = utf8_encode(htmlspecialchars($liste[9],ENT_QUOTES));
- /* Ajouter un nouvel enregistrement dans la table */
- if ($ligne) $result= MYSQL_QUERY('INSERT INTO fiche VALUES("","'.$titre.'","'.$objet.'","'.$observations.'","'.$type_doc.'","'.$sous_type_doc.'" )');
- if(mysql_error())
- { /* Erreur dans la base de donnees, sûrement la table qu'il faut créer */
- print "Erreur dans la base de données : ".mysql_error();
- print "<br>Importation stoppée.";
- exit();
- }
- }
|
Le problème est que tous les champs sont correctement remlis dans la base, sauf sous_type_doc, ou les accents disparaissent. Par exemple "contrat d'achat/de vente" devient "contrat dachat/de vente" .
Je trouve ça pas normal vue que tous les champs ont la même structure.
quelq'un peut m'aider à résoudre ce problème? |