Probleme d'encodage de caractere - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 14-05-2007 à 08:46:33
1- Le coup des ? dans vi c'est que la locale utilisée au niveau de ton serveur n'est pas de l'UTF-8
Je te conseille donc de la changer ( locale pour voir la locale courante, setlocale pour la changer )
2- Réencoder ton dump : iconv
( iconv -f ISO-8859-1 -t UTF-8 fichier.dump pour un fichier exporté depuis une base en ISO-8859-1 / Latin1 vers UTF-8 )
Marsh Posté le 14-05-2007 à 19:19:48
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.
Marsh Posté le 13-05-2007 à 23:12:00
Bonjour,
je suis sous mac os, j'ai postgreSQL version 8.2.3 et je souhaite recréer une base à partir dun 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.