A priori, si je fais cette requête d'exécuter celle qui m'intéresse, cela fonctionne :
Que se passe-t-il exactement ?
Quelqu'un a-t-il une idée ?
 
Merci d'avance
 

Cédric Marfil
Concepteur Réalisateur Intégrateur Confirmé
Tél. direct: 03.20.65.34.82
Mail: [EMAIL PROTECTED]

Capgemini
181 rue Jules Delcenserie
59700 Marcq en Baroeul
----- Original Message -----
Sent: Friday, October 06, 2006 12:19 PM
Subject: Re: [CPS-users-fr] Re: Encodage de caractères MySQL

A priori, ma base est bien encodée en latin1, si je fais un script d'export de celle-ci sur mon client SQL, il me génère ceci:
CREATE DATABASE `XXX`
    CHARACTER SET 'latin1'
    COLLATE 'latin1_swedish_ci';
Donc ma base doit être encodée en 'latin1', mon defaultencoding python est setté par le sitecustomize.py sur 'latin-1'. J'ai essayé aussi 'latin1' dans le sitecustomize, mais rien ne semble y faire.
 
Je ne comprend pas ce qu'il se passe
Est-ce qu'une des libs python utilisées pourrait transformer l'encodage à la volée ?
 

Cédric Marfil
Concepteur Réalisateur Intégrateur Confirmé
Tél. direct: 03.20.65.34.82
Mail: [EMAIL PROTECTED]

Capgemini
181 rue Jules Delcenserie
59700 Marcq en Baroeul
----- Original Message -----
Sent: Friday, October 06, 2006 11:59 AM
Subject: [CPS-users-fr] Re: Encodage de caractères MySQL

Cedric Marfil a écrit :
> Bonjour,
> J'ai une base de données MySQL, sur un serveur Gentoo, encodée en 'latin1'.
> J'utilise les librairies python suivantes pour m'y connecter:
>     - MySQL-Python 1.2.1_p2
>     - ZMySQLDA 2.0.8
> Quand je fais une requête sur la base, il semblerait que les résultats
> me reviennent au format 'utf-8'.
> J'ai créé un fichier sitecustomize.py qui définit mon encodage par
> défaut à 'latin-1'.
> Rien n'y fait, j'ai toujours mes résultats en 'utf-8'.
> Ce qui m'étonne c'est de ne pas retrouver de paramètre sur mon
> connecteur ZMySQLDA qui me permettrait de définir l'encodage désiré,
> comme c'est le cas pour le connecteur ZPsycoPgDA.
> Avez vous une idée sur ce qui peut provoquer l'envoi des résultats au
> format 'utf-8' ?

Le fait que les données stockées le soit en utf8 ? AMA MySQL ne s'amuse pas à
transcoder les chaines de caractères à la volée. Donc si on stocke de l'utf8 on
recupère de l'utf8. Il suffit juste de transcoder ces résultats en latin 9
(iso-8859-15) si on veut les afficher dans une page html générée par CPS.

result_str.decode('utf-8').encode('iso-8859-15', 'replace')

Le flag 'replace' permet de remplacer les caractères utf-8 non existant en
latin9 par un '?'. Dans CPSUtil on fournit en plus un fallback supplémentaire
chargé automatiquement dans CPS qui permet de faire des conversions
intelligentes pour les caractères windows (cp1252):

result_str.decode('utf-8').encode('iso-8859-15', 'latin9_fallback')

Les détails dans :
  http://svn.nuxeo.org/trac/pub/browser/CPS3/products/CPSUtil/trunk/text.py


--
Olivier

_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.


_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>
This message contains information that may be privileged or confidential and is the property of the Capgemini Group. It is intended only for the person to whom it is addressed. If you are not the intended recipient, you are not authorized to read, print, retain, copy, disseminate, distribute, or use this message or any part thereof. If you receive this message in error, please notify the sender immediately and delete all copies of this message.

_______________________________________________
cps-users-fr 
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-users-fr>

Répondre à