# problème d'encodage de caractères



## newteam (13 Mai 2007)

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.


----------



## FjRond (14 Mai 2007)

Deux possibilités:

soit vous les lisez avec le Terminal sans avoir fait les réglages nécessaires au préalable (menu Terminal => Réglages de la fenêtre => Affichage);
soit vous utilisez un xterm ou autre console, et vous pouvez chercher du côté de la manpage d'iconv, programme qui permet de modifier l'encodage d'un fichier.


----------



## bompi (14 Mai 2007)

Peut-&#234;tre faut-il v&#233;rifier la validit&#233; des fichiers apr&#232;s transfert (avec _md5_ par exemple).


----------



## newteam (14 Mai 2007)

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.


----------



## FjRond (14 Mai 2007)

Pour vi, ça doit dépendre de la console avec laquelle vous l'ouvrez.


----------



## bompi (14 Mai 2007)

Encore faudrait-il qu'il y ait un support de UTF-8 par la version de _vi_, sans compter effectivement la configuration du Terminal.


----------



## FjRond (14 Mai 2007)

bompi a dit:


> Encore faudrait-il qu'il y ait un support de UTF-8 par la version de _vi_, sans compter effectivement la configuration du Terminal.



Bien vu. Je viens en effet d'essayer _vim 7.0-243_ dans un terminal configur&#233; pour utf-8: celui-ci n'est pas support&#233;. Par contre, _emacs 22.0.93.1_ le supporte:

M-x set-keyboard-coding-system ENTER utf-8
M-x set-terminal-coding-system ENTER utf-8

Ou bien dans le fichier de configuration ~/.emacs

(set-keyboard-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)


----------



## newteam (15 Mai 2007)

très bien, merci pour vos eclaircissements


----------

