Re: Migrer UTF8 vers LATIN1
David Tokmatchi a écrit :
Bonjour
Une base Postgres a été crée avec l'encodage UTF8. Cette base est mise
à jour uniquement par des données venant d'une autre base codée en LATIN1.
Lors d'insertion des caractères accentués j'ai eu des erreurs et à
l'avenir pour assurer la cohérence des données, je préfère aligner
l'encodage des deux bases.
J'ai vu qu'il y la possibilité d'utiliser la commande :*set
client_encoding = latin1 * avant de lancer les scripts. Sachant que
mes données de la base sont exclusivement celles de LATIN1 :
Comment faire pour migrer la base de UTF8 vers LATIN1 ?
Salut,
Pour réencoder des bases j'utilise la commande recode.
A ma connaissance il n'est pas possible de changer l'encodage a posteriori.
Les étapes à suivre sont :
1) Dumper la base : pg_dump mabase > mabase.sql.utf8
2) Reencoder : cp mabase.sql.utf8 mabase.sql.lat1; recode u8..l9
mabase.sql.lat1
3) Détruire la base (ou la renommer) : dropdb mabase
4) Recréer la base : createdb -E latin1 mabase
5) Réinjecter : psql mabase -f mabase.sql.lat1
Eric.
Home |
Main Index |
Thread Index