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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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.
From | Date | Subject | |
---|---|---|---|
Next Message | Stéphane SCHILDKNECHT | 2006-05-29 09:55:18 | Re: [pgsql-fr-generale] Re: [pgsql-fr-generale] probleme d'encodage de caratères |
Previous Message | Francis Leboutte | 2006-05-29 08:04:18 | Re: probleme d'encodage de |