Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/06/2007, 16h32   #1
Futur Membre du Club
 
Inscription : février 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 64
Points : 17
Points : 17
Par défaut probleme encodage base postgresql

bonjour
j'ai le probleme d'encodage suite à un import d'une base.
la base de données d'origine est une base Oracle avec un jeu de caractères WE8ISO8859P9.
Les données ont transitées dans une base Postgres encodée en SQL_ASCII.:

l'import est reussi mais lors de certaines requetes j'ai le message suivant :

javax.servlet.ServletException: Des données de caractères invalides ont été trouvées. C'est probablement causé par le stockage de caractères invalides pour le jeu de caractères de création de la base. L'exemple le plus courant est le stockage de données 8bit dans une base SQL_ASCII.
Exception : java.io.IOException: UTF-8 string representation was truncated
Pile d'appel :
java.io.IOException: UTF-8 string representation was truncated

quand je vais dans les propriétés de mon projet et que je regarde le textfile encoding
iL est en cp1252, je le change en ISO-8859-1
ça ne change rien
je le change en UTF-8 et je reproduit le changement dans mes pages jsp
j'ai toujours la meme erreur
du coup je regarde ’encodage de la base dans pgadmin :
ENCODING = 'SQL_ASCII'

j'ai vu qu'il y avait un probleme similaire ici
http://www.developpez.net/forums/sho...d.php?t=335683

mais iconv n' a pas l'air de marcher( ou alors je le fais mal ?)

de meme en utilisant un set_client encoding ( faut il le faire avant ou apres la création de la base ?)

voila je seche completement, est ce quelqu'un pourrait m'aider ?

d'avance merci
touane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2007, 20h39   #2
Membre confirmé
 
Homme
Inscription : janvier 2006
Messages : 227
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Corse (Corse)

Informations forums :
Inscription : janvier 2006
Messages : 227
Points : 239
Points : 239
bonjour , le plus simple est de spécifier l'encodage à la creation de la base commande initdb avec l'option -E pour definir l'encodage
autrement losrque j'importe des données en général j'utilise la commande copy ...from que je fais précéder de la ligne
set client_encoding to encodageDeLaBase
xavier-Pierre est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2007, 10h36   #3
Futur Membre du Club
 
Inscription : février 2007
Messages : 64
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 64
Points : 17
Points : 17
merci pour la reponse,
finalement je suis parti d'un nouveau fichier dump au format LATIN1.
du coup en creant la base en specifiant l'encodage en latin, je n'ai plus de probleme avec l'affichage des caracteres sur mon serveur ( pour l'instant serais je tenté de rajouter )
touane est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h55.


 
 
 
 
Partenaires

Hébergement Web