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