Lists: | pgsql-fr-generale |
---|
From: | Bruno <bruno(dot)leveque(at)net6d(dot)com> |
---|---|
To: | pgsql-fr-generale <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | perl/tk - accents |
Date: | 2004-07-05 16:46:11 |
Message-ID: | Pine.LNX.4.58.0407051839300.19492@moissac.leveque.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Bonsoir,
je suis en train de développer une caisse enregistreuse en perl/tk et je me
heurte à un problème avec les accents.
En effet, directement (à la main), je peux insérer, dans une table quelconque, lévêque. Dès que je le fais via mon programme, j'obtiens : Lévêque.
Je sui à peut prêt certain que c'est un problème d'encodage. Mais lequel ??
Auriez-vous une idée ?
Merci
Bruno
PS. :
Variables d'environnement
LANG=fr_FR
LC_ALL=fr_FR
Base au format LATIN9
Versions :
postgres 7.4.2
perl 5.8.0
DBI 1.38
DBD-Pg 1.22
pgsql_perl 5-1.9.0
Bruno LEVEQUE
Net6D
http://www.net6d.com
bruno(dot)leveque(at)net6d(dot)com
From: | Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk> |
---|---|
To: | Bruno <bruno(dot)leveque(at)net6d(dot)com> |
Cc: | pgsql-fr-generale <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: perl/tk - accents |
Date: | 2004-07-05 19:15:21 |
Message-ID: | 20040705191521.GF10189@quartz.newn.cam.ac.uk |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
On Mon, Jul 05, 2004 at 06:46:11PM +0200, Bruno wrote:
> En effet, directement (à la main), je peux insérer, dans une table
> quelconque, lévêque. Dès que je le fais via mon programme,
> j'obtiens : Lévêque.
>
> Je sui à peut prêt certain que c'est un problème d'encodage. Mais lequel ??
Etant donne que les lettres avec des accents prennent maintenant deux
octets, il me semble que le serveur garde les donnes en unicode, mais le
client parle par example LATIN9. Que dit "psql -l" ? (la derniere colonne
donne l'encodage sur le serveur).
Patrick
> LANG=fr_FR
> LC_ALL=fr_FR
> Base au format LATIN9
From: | Bruno <bruno(dot)leveque(at)net6d(dot)com> |
---|---|
To: | Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk> |
Cc: | Bruno <bruno(dot)leveque(at)net6d(dot)com>, pgsql-fr-generale <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: perl/tk - accents |
Date: | 2004-07-06 06:21:57 |
Message-ID: | Pine.LNX.4.58.0407060813510.230@moissac.leveque.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Bonjour,
Bonne idée, mais hélas ...
Ma base est créée avec une ligne : createdb -E LATIN9
Le schéma est mis en place avec un : SET client_encoding = 'LATIN9';
Dans le fichier dump me servant pour mettre en place le schéma et certaines données, j'ai des caractères accentués qui sont bien pris.
A mon avis mon problème ne viendrait pas de la base mais d'un des modules perl DBI, DBD-Pg, pgsql_perl. Donc très certainement de l'encodage du client.
J'ai essayé l'UNICODE, l'UTF8, SQL_ASCII, LATIN9 (sans succès)
Merci à tous
Bruno
On Mon, 5 Jul 2004, Patrick Welche wrote:
> On Mon, Jul 05, 2004 at 06:46:11PM +0200, Bruno wrote:
> > En effet, directement (à la main), je peux insérer, dans une table
> > quelconque, lévêque. Dès que je le fais via mon programme,
> > j'obtiens : Lévêque.
> >
> > Je sui à peut prêt certain que c'est un problème d'encodage. Mais lequel ??
>
> Etant donne que les lettres avec des accents prennent maintenant deux
> octets, il me semble que le serveur garde les donnes en unicode, mais le
> client parle par example LATIN9. Que dit "psql -l" ? (la derniere colonne
> donne l'encodage sur le serveur).
>
> Patrick
>
> > LANG=fr_FR
> > LC_ALL=fr_FR
> > Base au format LATIN9
>
Bruno LEVEQUE
Net6D
http://www.net6d.com
bruno(dot)leveque(at)net6d(dot)com
From: | Bruno <bruno(dot)leveque(at)net6d(dot)com> |
---|---|
To: | Bruno <bruno(dot)leveque(at)net6d(dot)com> |
Cc: | Patrick Welche <prlw1(at)newn(dot)cam(dot)ac(dot)uk>, pgsql-fr-generale <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: perl/tk - accents |
Date: | 2004-07-06 07:20:02 |
Message-ID: | Pine.LNX.4.58.0407060914470.230@moissac.leveque.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Juste une petite précision,
Je viens de tracer ma requete et je constate que la requête azccentuée a été convertie (au niveau des accents)
insert into clientfournisseur values ('3','é ... au lieu de
insert into clientfournisseur values ('3','é ...
Mon problème pourrait doc aussi provenir de libpq (pgsql-perl fait appel à libpq)
De plus, j'ai essayé en mettant la variable d'env PGCLIENTENCODING à LATIN9
Postgres est installé après compilation :
./configure --prefix=/opt/postgres --with-openssl --with-perl --datadir=/opt/postgres/data --enable-multibyte --with-x --with-CXX --enable-nls=fr
Sans succès :(
Merci pour les idées
Bruno
On Tue, 6 Jul 2004, Bruno wrote:
> Bonjour,
>
> Bonne idée, mais hélas ...
>
> Ma base est créée avec une ligne : createdb -E LATIN9
> Le schéma est mis en place avec un : SET client_encoding = 'LATIN9';
> Dans le fichier dump me servant pour mettre en place le schéma et certaines données, j'ai des caractères accentués qui sont bien pris.
>
> A mon avis mon problème ne viendrait pas de la base mais d'un des modules perl DBI, DBD-Pg, pgsql_perl. Donc très certainement de l'encodage du client.
>
> J'ai essayé l'UNICODE, l'UTF8, SQL_ASCII, LATIN9 (sans succès)
>
> Merci à tous
>
> Bruno
>
> On Mon, 5 Jul 2004, Patrick Welche wrote:
>
> > On Mon, Jul 05, 2004 at 06:46:11PM +0200, Bruno wrote:
> > > En effet, directement (à la main), je peux insérer, dans une table
> > > quelconque, lévêque. Dès que je le fais via mon programme,
> > > j'obtiens : Lévêque.
> > >
> > > Je sui à peut prêt certain que c'est un problème d'encodage. Mais lequel ??
> >
> > Etant donne que les lettres avec des accents prennent maintenant deux
> > octets, il me semble que le serveur garde les donnes en unicode, mais le
> > client parle par example LATIN9. Que dit "psql -l" ? (la derniere colonne
> > donne l'encodage sur le serveur).
> >
> > Patrick
> >
> > > LANG=fr_FR
> > > LC_ALL=fr_FR
> > > Base au format LATIN9
> >
>
> Bruno LEVEQUE
> Net6D
> http://www.net6d.com
> bruno(dot)leveque(at)net6d(dot)com
>
Bruno LEVEQUE
Net6D
http://www.net6d.com
bruno(dot)leveque(at)net6d(dot)com
From: | Francois Suter <francois(at)monpetitcoin(dot)com> |
---|---|
To: | Bruno <bruno(dot)leveque(at)net6d(dot)com> |
Cc: | Pgsql Generale Fr <pgsql-fr-generale(at)postgresql(dot)org> |
Subject: | Re: perl/tk - accents |
Date: | 2004-07-06 07:41:42 |
Message-ID: | EC3A97CC-CF1F-11D8-8571-000393427520@monpetitcoin.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Lists: | pgsql-fr-generale |
Salut,
> Je viens de tracer ma requete et je constate que la requête azccentuée
> a été convertie (au niveau des accents)
>
> insert into clientfournisseur values ('3','é ... au lieu de
> insert into clientfournisseur values ('3','é ...
>
> Mon problème pourrait doc aussi provenir de libpq (pgsql-perl fait
> appel à libpq)
Est-ce que le problème ne pourrait pas venir de l'éditeur dans lequel
tu tapes ton code (si j'ai bien compris, ce sont les requêtes qui sont
dans ton code qui foirent)? Personnellement, je bosse sur Mac OS X et
quand je tape des accents dans un programme Perl en utilisant, par
exemple, BBEdit comme éditeur, les accents partent aux fraises dans la
base de données. Par contre, quand je tape mon code dans Dreamweaver,
les accents passent sans problème. Peut-être est-ce une question de
trouver le bon éditeur.
A+
---------------
Francois
Home page: http://www.monpetitcoin.com/
"Nous sommes peu à penser trop, trop à penser peu." - Françoise Sagan