Re: [CPS-users-fr] Re: Encodage de caractères MySQL

Cedric Marfil cedric.marfil at capgemini.com
Ven 6 Oct 13:23:54 CEST 2006


A priori, si je fais cette requête d'exécuter celle qui m'intéresse, cela fonctionne :
SET CHARACTER SET latin1 (source: http://cestadire.ch/index.php?option=com_content&task=view&id=53&Itemid=53)
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: cedric.marfil at capgemini.com

Capgemini
181 rue Jules Delcenserie
59700 Marcq en Baroeul

  ----- Original Message ----- 
  From: Cedric Marfil 
  To: cps-users-fr at lists.nuxeo.com ; Olivier Grisel 
  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: cedric.marfil at capgemini.com

  Capgemini
  181 rue Jules Delcenserie
  59700 Marcq en Baroeul

    ----- Original Message ----- 
    From: Olivier Grisel 
    To: cps-users-fr at lists.nuxeo.com 
    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 : cps-users-fr at lists.nuxeo.com
    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 : cps-users-fr at lists.nuxeo.com
  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.
-------------- section suivante --------------
Une pièce jointe HTML a été enlevée...
URL: http://lists.nuxeo.com/pipermail/cps-users-fr/attachments/20061006/ebfe680f/attachment-0001.htm



This list archive provided by Nuxeo, the leaders of open source ECM. Check out the Nuxeo 5 open source, standards-based ECM project.