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
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.

In response to

Responses

Browse pgsql-fr-generale by date

  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