IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Caractères spéciaux fichier csv


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut Caractères spéciaux fichier csv
    Bonjour,

    J'ai un soucis avec la gestion des caractères speciaux lors de l'importation d'un fichier .csv.

    Dans mon application, j'ai un formulaire pour insérer un fichier csv que je traite comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     $fh = fopen($_FILES['fichier']['tmp_name'], 'r');
          $lines = array();
          while(($row = fgetcsv($fh, 10000, ";")) !== FALSE ) {
              $lines[]= $row;
    // Avec un tableau où je récupère les données + un ajout en bdd
    Cependant, mon fichier possède des '?' à la place des caractères spéciaux type éèà ...
    J'aimerais pouvoir traiter ce problème mais je n'ai aucune idée de comment faire.
    Je précise qu'à la base c'est un fichier .xls que je convertis en .csv ( dans excel, donnée -> exporter en .csv séparé par ';' ).
    Quand je l'ouvre dans notepad même si je convertis en utf-8 c'est la même chose..

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Vérifie que ton fichier csv a le même encodage que ton fichier php.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Comment faire pour voir cela ? merci
    Mon fichier .csv est bien en utf-8 car je l'ai convertis en utilisant notepad.
    Puis mon application en php ( la page de traitement ) est également en utf8

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Dans quoi tu obtiens les "?" ?

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Les '?' sont dans le fichier .csv ( de base un fichier excel qui a été converti en .csv )
    Puis j'ai tenté l'ajout en bdd mais j'ai encore les '?'

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si dans ton fichier de départ tu as déjà des "?" c'est trop tard, c'est ta source qui a un problème.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Dans le fichier .xls il n'y en a pas de base. Comment je le transforme en csv sans passer par les '?'

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Qu'on soit d'accord :
    - tu as un fichier xls (format < 2003)
    - tu fais "enregistrer sous" csv
    - tu ouvres ce csv avec notepad++ et tu as des caractères qui sont devenus des "?"

    c'est bien ca ?

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Oui exactement

  10. #10
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    J'ai réussi à enregistrer le fichier sans avoir de caractères '?' ( en faisant une extraction via excel + via notepad++ )
    Cependant je souhaiterais éviter l'étape notepad++. Est-ce possible via php ?

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux nous fournir un fichier excel permettant de reproduire le problème ?

  12. #12
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Voilà le fichier : ( de base en xlsb je l'ai mis en xlsx car le forum n'accepte pas xlsb )
    Fichiers attachés Fichiers attachés

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quand je fais la conversion (Excel 2016) j'obtiens bien tout

    Reçu le;Contact;Diplôme;Formations;Etablissements;Statut;Commentaire;Civilité;Niveau actuel (année)
    19/10/2017 20:02;Aôèx Wett;• Bachelor;• 3 test test tèst;• tèst;•Traité;•;Mme;3
    19/10/2017 19:46;LsrhsérhVsehrsh;• BTS;• test test tèst;• tèst;;•;M.;1
    19/10/2017 19:38;Msrhsràh Mshsrhrh;• BTS;• test test tèst;• tèst;;•;Mme;
    19/10/2017 19:25;Baésrhsly Thsrhrsh;• MBA;• test test tèst;• tèst;;•;M.;3
    19/10/2017 17:01;Bsrhsr Msrhsrhr;• BTS;• test test tèst;• tèst;;•;M.;

  14. #14
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    C'est après quand je l'importe sur mon site que les caractères s'affichent mal ( car je n'ai pas fait l'étape sur notepad)

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    ah donc en fait quand tu m'as dit "oui exactement" c'était "non pas du tout" qu'il fallait comprendre


    Et donc l'import sur le site tu le fais ou et comment ?

  16. #16
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2017
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2017
    Messages : 44
    Points : 33
    Points
    33
    Par défaut
    Désolé je me suis mal exprimé. . Au début j'avais les '?' puis j'avais réussi à les enlever en faisant une autre extraction ( comme tu as dû faire).

    Je traite mon document avec le code de mon premier message.

    Merci en tous cas de passer du temps pour m'aider.

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    en faisant une autre extraction ( comme tu as dû faire).
    Moi je n'ai rien fait, j'ai seulement converti depuis Excel et ça fonctionne.

    Dans le code que tu nous as montré il n'y a ni affichage ni insertion dans une base de données, donc les "?" tu les vois où ?

    Si tes traitements PHP sont en UTF8 alors il faut faire un utf8_encode() sur les données lues dans le CSV.

Discussions similaires

  1. Caractères spéciaux dans un fichier CSV
    Par Lindaz dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 04/10/2017, 16h19
  2. [WD17] Récupérer chaine de caractères dans fichier csv
    Par johan0510 dans le forum WinDev
    Réponses: 24
    Dernier message: 30/01/2013, 15h35
  3. [Débutant] Caractère � dans fichier csv
    Par mailbox dans le forum VB.NET
    Réponses: 4
    Dernier message: 06/02/2012, 14h05
  4. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 09h01
  5. Réponses: 3
    Dernier message: 01/12/2005, 21h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo