Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
Pages : 1
#1 04/02/2010 14:35:12
- Woodruff
- Membre
Probleme d'encodage lors d'une resto
Bonjour,
Lors d'une restauration d'une base de données a partir d'un DUMP ( dump crée en .tar et nommé en .backup)
Tout ce déroule bien a part pour une table et voici le message d'erreur
pg_restore: restoring data for table "histofaitlogistique"
pg_restore: [archiver (db)] Error while PROCESSING TOC:
pg_restore: [archiver (db)] Error from TOC entry 3637; 0 378852 TABLE DATA histofaitlogistique
pg_restore: [archiver (db)] COPY failed: ERROR: invalid byte sequence for encoding "UTF8": 0xa4
HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
CONTEXT: COPY histofaitlogistique, line 151858
Restauration effectuée sous PgAdmin III
Si quelqu'un à une idée de ce que c'est ou comment faire pour ne pas avoir se problème?
Merci
Hors ligne
#2 04/02/2010 16:02:33
- daamien
- damien clochard
Re : Probleme d'encodage lors d'une resto
Apparement la base restaurée est en UTF8 tandis que la sauvegarde ne l'est pas.
Il faut refaire un dump en UTF8 ou convertir le dump actuel
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
#3 04/02/2010 16:59:23
- Woodruff
- Membre
Re : Probleme d'encodage lors d'une resto
Merci, pourtant lorsque je crée la base de données je la crée en UTF8 avec un template0
Comme l'original mais sans structure, et toutes les autres données sont elles aussi en UTF8 alors pourquoi il n'y a que les données de cette table qui posent problème?
Sinon, comment convertir le dump actuel?
Hors ligne
#4 04/02/2010 17:52:09
- gleu
- Administrateur
Re : Probleme d'encodage lors d'une resto
Toutes les données ne sont pas en UTF-8. Sinon, vous n'auriez pas ce message là : « invalid byte sequence for encoding "UTF8": 0xa4 ».
Un petit article pour vous aider : http://blog.guillaume.lelarge.info/inde … -que-UTF-8
Guillaume.
Hors ligne
#5 04/02/2010 21:12:24
- Woodruff
- Membre
Re : Probleme d'encodage lors d'une resto
Pour essayer de faire simple,
Base de données postgres version 8.2.5 sur serveur linux
Utilisation de PgAdmin III sur un poste distant fonctionnant sous windows XP
Création d'une base avec template0 et en UTF8 par PgAdmin III
Insertion de données et lecture de ces même données sans anomalies (données possédant des /n je ne sais pas si ca peut jouer)
Sauvegarde de la base a partir de PgAdmin III en TAR et avec comme extension .backup sans anomalies non plus
Création d'une autre base de données par PgAdmin III avec les meme options que la précédente mais de nom diffèrent bien sur
Et le problème apparait lorsque j'importe le dump créé dans la nouvelle base.
J'espère que ma façon de procéder et plus claire ainsi, encore merci pour votre soutient
Hors ligne
#6 04/02/2010 23:51:22
- gleu
- Administrateur
Re : Probleme d'encodage lors d'une resto
Il doit y avoir quelque chose que je ne comprends pas. Vous créez deux fois une base, de nom différent, mais sur le même serveur, avec le même encodage et le même template. Et, à la restauration, vous avez une erreur ? ce n'est pas possible, j'ai dû mal comprendre quelque chose.
Guillaume.
Hors ligne
#7 04/02/2010 23:58:34
- Woodruff
- Membre
Re : Probleme d'encodage lors d'une resto
Oui, c'est des bases test, on crée une base, à un moment T on la sauvegarde, on effectue des test dessus et apres on la supprime et on la recrée en y remettant la sauvegarde
Hors ligne
#8 05/02/2010 15:24:23
- daamien
- damien clochard
Re : Probleme d'encodage lors d'une resto
Quel est le résultat de la requête suivante :
SELECT d.datname , pg_catalog.pg_encoding_to_char(d.encoding)
FROM pg_catalog.pg_database d;
damien clochard
http://dalibo.org | http://dalibo.com
Hors ligne
#9 08/02/2010 13:10:50
- Woodruff
- Membre
Re : Probleme d'encodage lors d'une resto
Ça me sort un tableau avec tout en UTF8 pourtant
Le problème pourrait-il venir du fait que les développeur utilise WinDev pour forcer l'insertion de donnée, que les données soient insérées et peuvent êtres lus et même pendant la sauvegarde. Par contre, lors de la restauration, PgAdmin refuse car il ne garantie pas la cohérence des données???
Hors ligne
#10 10/02/2010 00:18:27
- gleu
- Administrateur
Re : Probleme d'encodage lors d'une resto
pgAdmin ne fait que lancer pg_restore suivant les options que vous lui avez fourni dans la fenêtre. L'utilisation de WinDev ne me semble pas problématique en soi.
Avez-vous lu le lien que j'ai fourni plus haut et tenter de faire ce qui y est expliqué ? si oui, qu'est-ce que cela a donné comme résultat ?
Guillaume.
Hors ligne
#11 11/02/2010 17:44:02
- Woodruff
- Membre
Re : Probleme d'encodage lors d'une resto
Lorsque je veux exécuter "select * from db_utf8_verify();" il me met un message d'erreur : No fonction matches the given name and argument type. You made need to add explicit type cast.
Hors ligne
#12 12/02/2010 08:19:55
- Marc Cousin
- Membre
Re : Probleme d'encodage lors d'une resto
Ça n'est pas une fonction de base du moteur.
Passez ce script pour la créer :
Marc.
Hors ligne
#13 12/02/2010 09:37:15
- gleu
- Administrateur
Re : Probleme d'encodage lors d'une resto
Ou http://blog.guillaume.lelarge.info/publ … verify.sql si le précédent ne fonctionne plus.
Guillaume.
Hors ligne
Pages : 1