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

PostgreSQL Discussion :

Erreur encodage utf8 lors d'importation fichier csv [9.0]


Sujet :

PostgreSQL

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 98
    Points : 59
    Points
    59
    Par défaut Erreur encodage utf8 lors d'importation fichier csv
    Bonjour à tous,

    Je fais mes premiers pas sous postgresql. Voici mon problème :

    Contexte :
    Je souhaite importer des fichiers type csv dans ma base. J'ai donc utilisé la fonction COPY pour cela.

    CODE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    COPY donnee FROM 'C:Users/....'
    WITH DELIMITER AS ';' CVS HEADER;
    Message après RUN :
    ERREUR: Séquence d'octets invalide pour l'encodage 2UTF82 : 0xfc

    Ce que j'ai essayé : (Mais sans succès)
    1. Mettre des paramètres : set client_encoding 'Latin1' ou encore ENCODING = 'Latin1'
    2. Changer le format d'encodage de ma base de données, j'ai toujours un message d'erreur et donc je suis obligé d'utiliser utf8
    3. Changer le format du fichier source en .txt

    Si l'un de vous avait une astuce, cela serait formidable !!

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Bonjour,

    Essayez de changer l'encodage du fichier CSV, pour le passer en UTF-8 sans BOM.
    Pour cela, par exemple, vous pouvez ouvrir ce fichier avec Notepad++, puis aller dans le menu "Encoding" => "Convertir en UTF-8 (sans BOM)".
    Sauvegardez alors le fichier (éventuellement sous un autre nom) puis relancez l'import.

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 98
    Points : 59
    Points
    59
    Par défaut
    Merci pour la réponse.

    En effet j'avais déjà vu cette solution sur les forums. Mon projet est de simplifier les manipulations des fichiers utilisées par un BE, je vais donc encore un peu chercher comment résoudre ce problème car cette manipulation reste "lourde".

    Si toute fois je n'ai pas le choix, je me mettrais à la programmation d'une macro sous excel pouvant faire la manipulation.

    Encore merci !

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 034
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 034
    Points : 23 779
    Points
    23 779
    Par défaut
    Au passage, la syntaxe pour changer l'encodage sous psql est plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set client_encoding = LATIN1
    Avez-vous plutôt essayé dans l'autre sens, en mettant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set client_encoding = UTF-8

  5. #5
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    98
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2014
    Messages : 98
    Points : 59
    Points
    59
    Par défaut Bon code
    En effet, j'arrive bien à importer mes données avec cette solution ! Merci

    Le code pour les perdus du sql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SET client_encoding to 'Latin1' ;
    COPY matable FROM 'c:/...'
    WITH DELIMITER AS ',' CSV HEADER ;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Erreur importation fichier csv
    Par Anna76 dans le forum MATLAB
    Réponses: 2
    Dernier message: 21/07/2014, 13h36
  2. [Pb Importation fichier CSV]
    Par Jeremie_Vi dans le forum Access
    Réponses: 2
    Dernier message: 04/05/2007, 06h54
  3. Importation fichier CSV Excel
    Par @lex(is) dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 22/06/2006, 02h16
  4. Update de plusieurs tables, import fichier csv sql loader
    Par fusuke dans le forum SQL*Loader
    Réponses: 2
    Dernier message: 18/05/2006, 15h08
  5. Réponses: 9
    Dernier message: 31/01/2006, 22h42

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