From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | Doug Ross <doug(dot)ross(at)free(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: Problème d'accents.... client ou serveur ? |
Date: | 2013-03-20 07:53:10 |
Message-ID: | 1363765990.1920.2.camel@localhost |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
On Tue, 2013-03-19 at 23:57 +0100, Doug Ross wrote:
> Le 19/03/2013 23:50, Doug Ross a écrit :
> > Le 19/03/2013 23:32, Guillaume Lelarge a écrit :
> >> On Tue, 2013-03-19 at 22:56 +0100, Doug Ross wrote:
> >>> Bonsoir,
> >>>
> >>> Je suis en train de construire un script perl pour interagir via
> >>> xml-rpc
> >>> avec une base postresql 9.1.8 utilisée pour OpenERP 6.1
> >>> AprÃÅ¡s quelques tâtonnements j'arrive a créer/mette à jour
> >>> des objet
> >>> OpenERP (produits, contacts, etc..).
> >>>
> >>> Mon soucis maintenant ce sont les mots accentués.
> >>> Je n'arrive pas à déterminer où se situe le pb :(
> >>>
> >>> Si je crée un produit (ex: chaussure été) depuis
> >>> l'interface web, les
> >>> accents sont correctement stockés dans la base (enfin je suppose
> >>> vu que
> >>> ça fonctionne).
> >>> Si je récupÃÅ¡re le champ "name" de ce produit (qui contient vu
> >>> de la
> >>> ligne de commande non plus des accents mais des "codes") et le
> >>> réutilise
> >>> pour crée un 2eme produit "maillot été", alors dans
> >>> l'interface web je
> >>> n'ai plus les accents mais des "codes cabalistiques".
> >>>
> >>> Ma configuration :
> >>> Client web Firefox 17.0.4 ESR sur W7
> >>> PGSQL 9.1.8 + OpenERP 6.1 + perl 5.14.2 sur Ubuntu 12.04.2 avec les
> >>> locales suivantes de définies :
> >>> LANG=fr_FR.UTF-8
> >>> LANGUAGE=
> >>> LC_CTYPE="fr_FR.UTF-8"
> >>> LC_NUMERIC="fr_FR.UTF-8"
> >>> LC_TIME="fr_FR.UTF-8"
> >>> LC_COLLATE="fr_FR.UTF-8"
> >>> LC_MONETARY="fr_FR.UTF-8"
> >>> LC_MESSAGES="fr_FR.UTF-8"
> >>> LC_PAPER="fr_FR.UTF-8"
> >>> LC_NAME="fr_FR.UTF-8"
> >>> LC_ADDRESS="fr_FR.UTF-8"
> >>> LC_TELEPHONE="fr_FR.UTF-8"
> >>> LC_MEASUREMENT="fr_FR.UTF-8"
> >>> LC_IDENTIFICATION="fr_FR.UTF-8"
> >>> LC_ALL=
> >>>
> >>> CÃÅœté pgsql j'ai réussi à trouver ça :
> >>> List of databases
> >>> Name | Owner | Encoding | Collate | Ctype | Access
> >>> privileges
> >>> -----------+----------+----------+-------------+-------------+-----------------------
> >>>
> >>> Base1 | openerp | UTF8 | fr_FR.UTF-8 | fr_FR.UTF-8 |
> >>>
> >>> Je pense donc que je suis bien en UTF8 "partout" sur le serveur et
> >>> pourtant..... mon script perl local via xml-rpc ne "voit" ni
> >>> "n'écrit"
> >>> correctement les caractÃÅ¡res accentués.
> >>>
> >>> Avez-vous déjà rencontré ce type de pb ?
> >>> Avez-vous une piste de recherche à me donner pour continuer
> >>> d'investiguer et arriver à identifier le pb ?
> >>>
> >> Votre script envoie bien les données en UTF-8 ? si vous regardez vos
> >> données à partir de psql, sont-elles bien affichées ?
> >>
> >>
> > Bonsoir, merci de votre réponse.
> >
> > Alors dans la table voici ce que j'ai :
> > Base3=# select * from "product_category";
> > id | parent_left | parent_right | create_uid | create_date |
> > write_date | write_uid | name | sequence | parent_id | type
> > ----+-------------+--------------+------------+----------------------------+------------+-----------+--------------------------+----------+-----------+--------
> >
> > 23 | 1 | 2 | 1 | 2013-03-19 20:46:50.303606 | | | Pêle-Mêle | 0 | 1
> > | normal
> > 40 | 3 | 4 | 1 | 2013-03-19 22:19:03.277378 | | | Pêle-Mêle | |
> > 1 | normal
> > 1 | 0 | 79 | 1 | 2013-03-19 20:34:06.41676 | | | All products | | |
> > normal
> > 31 | 80 | 81 | 1 | 2013-03-19 21:02:07.34055 | | | Avec aacent été |
> > 0 | | normal
> > 41 | 5 | 6 | 1 | 2013-03-19 22:26:53.070303 | | |
> > Pêle-Mêle éà çêâÃÂŽ | | 1 | normal
> > (5 rows)
> >
> > Les enregistrements 23 et 31 on été créés depuis l'interface web,
> > le 1 existe d'origine, 40 et 4& on été créés en XML-RPC
> >
> >
> Petite précision car ile semble que l'encodage des caractère via le mail
> ne fonctionne pas mieux :(
> donc le 23 et 31 sont avec des accents
> et 40 41 sont avec des caractères cabalistiques.
>
C'était écrit parfaitement dans votre précédent mail. En tout cas, moi,
j'ai un bon affichage avec 23 et 31 corrects et 40 et 41 mal encodés.
Pour en revenir à ce que disait Marc, il semble que le client envoie ses
données en LATIN9 au lieu d'UTF-8. Donc soit vous pouvez faire en sorte
que le client envoie de l'UTF-8, soit vous devez indiquer à PostgreSQL
que le client envoie du LATIN9 (un simple "SET client_encoding TO
latin1;" doit suffire).
--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Doug Ross | 2013-03-20 10:13:57 | Re: Problème d'accents.... client ou serveur ? |
Previous Message | Marc Cousin | 2013-03-20 06:32:23 | Re: Problème d'accents.... client ou serveur ? |