Je dois déplacer une base de données PostgreSql de la version 8.3 de Windows à la version 8.4 fonctionnant sous Linux (Ubuntu Server 12.04).
La restauration est apparemment correcte, mais lorsque j'essaie d'afficher les données dans mon programme, je reçois une erreur indiquant que certains caractères ne sont pas pris en charge par l'encodage WIN1252.
La base de données originale a ces propriétés :
Encodage : WIN1252 LC_CTYPE : Anglais_États-Unis.1252 LC_COLLATE : English_United States.1252
Je peux restaurer la base de données en utilisant LC_CTYPE = "C" et LC_COLLATE = "C", de cette façon j'obtiens les caractères non supportés dans mon programme.
Si j'essaie de créer la base de données en utilisant cette commande :
createdb -h 127.0.0.1 \
--encoding=WIN1252 \
--lc-ctype='English_United States.1252' \
--lc-collate='English_United States.1252' \
-T template0 -U postgres mydb
Je reçois cette erreur :
createdb: falló la creación de la base de datos:
ERROR: el nombre de configuración regional «English_United States.1252» no es válido
Tout d'abord, comment puis-je faire en sorte que mon O.S. inclue cette configuration régionale ?.