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

Re: [pgsql-fr-generale] probleme d'encodage de caratères

From: Stéphane BUNEL <stephane(at)stratum-ip(dot)net>
To: Laurent Mesuré <laurent(dot)mesure(at)free(dot)fr>
Cc: pgsql-fr-generale <pgsql-fr-generale(at)postgresql(dot)org>
Subject: Re: [pgsql-fr-generale] probleme d'encodage de caratères
Date: 2006-05-29 09:13:32
Message-ID: 447ABB3C.5010407@stratum-ip.net (view raw or flat)
Thread:
Lists: pgsql-fr-generale
Laurent Mesuré a écrit :
> Bonjour,
> 
> J'ai un probleme avec l'encodage des caractères.
> J'ai du texte avec des caractères accentués.
> 
> Pour peupler ma base de donnée j'utilise un fichier texte avec mes 
> données en insert.
> Ces données contiennent des caractères accentués.
> 
> Si ma base de données est en LATIN9 les caractères accentués 
> apparaissent encodé dans la base au lieu d etre correctement affichés.
> Si ma base est en UTF-8 tout se passe bien.
> 
> Seulement voilà, j'ai absolument besoin que la base soit en LATIN9 et du 
> coup ca passe pas. a achque fois que je charge ma base je dois traquer 
> les caractères accentués encodés pour les remettre correctement.
> 
> Quelqu'un a t il une idée pour etre tranquille sans passe par l'UTF-8 
> car ensuite j'ai des problemes avec PHP qui ne gère pas bien l'UTF-8 ?

Bonjour,

L'encodage des caractères intervient en trois étapes :

char -(1)-> INSERTION -(2)-> POSTGRESQL -(2)-> SELECTION -(3)-> char


Si votre base (PG8 et plus) utilise un encodage internet (2) UTF-8, ce 
qui n'est pas une mauvaise idée, elle va s'attendre à recevoir vos 
caractères (1) dans ce format d'encodage. De même les caractères 
restitués (3) le seront aussi en UTF-8.

Il est possible dynamiquement au niveau du client connecté, _avant_ une 
insertion (1) ou une sélection (3) , de spécifier explicitement le jeu 
de caractère utilisé via l'ordre : SET CLIENT_ENCODING=iso-8859-15 ; si 
votre application le permet. On devine que de cette façon l'encodage 
peut même être différent entre (1) et (3).

Statiquement enfin, coté serveur, il est aussi possible d'indiquer quel 
est l'encodage par défaut de tout client (fichier postgresql.conf) :

client_encoding = ISO-8859-15


Stéphane.


In response to

Responses

pgsql-fr-generale by date

Next:From: Stéphane SCHILDKNECHTDate: 2006-05-29 09:55:18
Subject: Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] probleme d'encodage de caratères
Previous:From: Francis LeboutteDate: 2006-05-29 08:04:18
Subject: Re: probleme d'encodage de

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group