Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

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

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group