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 :

problème d'encodage de caractères


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut problème d'encodage de caractères
    Bonjour,
    je suis sous mac os, j'ai postgreSQL version 8.2.3 et je souhaite recréer une base à partir d’un dump.
    Le problème c'est que quand je lance ma commande psql -e {nom_de_la_base} < {nom_du_fichier.dump}, j'ai cette erreur qui revient : "ERROR : invalid byte sequence for encoding "UTF8" 0x92etc...".
    Mon fichier dump vient d'un system unix, quand je le lis avec vi, je voit des ? à la place des é par exemple.
    Je peux très bien me passer des caractères à problème, je peux donc les supprimer. Mais comment?
    Mon fichier fait 800Mo, je n'arrive pas à l'ouvrir avec un editeur de texte car ça demande trop de ressource.
    J'ai deux "solutions" :
    1) - une commande unix permettant de remplacer tous ces caractères. J'ai essayé avec un
    sed -e "s/?/e/g" monFichier
    et
    sed -i.orig "s/?/e/g" monFichier
    sans succès.
    2) - changer l'encodage au niveau de postgresql. Pour l'instant j'ai fait un /usr/local/bin/initdb -E UTF8 -D /usr/local/pgsql/data .

    Quelqu'un a-t-il une solution à me proposer?

    D'avance merci.

  2. #2
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Par défaut
    Bonjour

    Le problème ne provient pas du système d'exploitation, mais bien d'un problème d'encodage

    Dans quel encodage se trouve la base de données source, ainsi que la base de données de destination.

    Sinon la librairie iconv sera vous convertir le fichier si celui n'est pas en UTF8.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 21
    Par défaut
    Merci, j'ai utilisé la commande iconv ainsi :

    iconv -f ISO-8859-1 -t UTF-8 fichier.dump

    mon fichier possède toujours quelques caractères "bizarres" quand je faire un vi en ligne de commandes mais postgres ne me génère plus de messages d'erreurs donc ça me convient.

    Si j'ai mis ISO-8859-1 c'est un peu au hasard car je ne sais pas comment identifier dans quel encodage se trouve ma base de données source.

  4. #4
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Par défaut
    Si vous avez des données contenant le symbole € (Euros) il faudrait utiliser l'encodage ISO-8859-15.

Discussions similaires

  1. problème d'encodage de caractères spéciaux
    Par anti-conformiste dans le forum Langage
    Réponses: 3
    Dernier message: 14/12/2006, 09h42
  2. [mssql8sp3] problème d'encodage de caractères
    Par arnolem dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 24/10/2006, 17h31
  3. Réponses: 3
    Dernier message: 24/10/2006, 11h05
  4. Problème d'encodage de caractères
    Par Felmorian dans le forum ASP
    Réponses: 1
    Dernier message: 04/07/2006, 17h36

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