IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

problème de caractères accentués (type êéè)


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut problème de caractères accentués (type êéè)
    Bonjour,

    j'ai un programme dans lequel j'interroge une base de donnée (pysqlite) et pour lequel je doit passer des caractères accentués.
    La requête donne de bons résultats lorsque je suis sous Python Scripter (en développement) mais lorsque j'appelle le programme sous DOS alors si il y a un caractère accentué le résultat n'est pas correct.

    voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    le_nom = raw_input('entrer le titre :')
    le_nom = '"' + '%' + le_nom + '%'+ '"'
    requete ='select * from ACTEURS where titre like %s order by titre' %(le_nom,)
    con.text_factory = str
    cur.execute(requete)
    Merci.

  2. #2
    Membre régulier

    Profil pro
    Inscrit en
    Février 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 76
    Points : 103
    Points
    103
    Par défaut
    Bonjour,

    Obtiens-tu une erreur? (genre UnicodeError)

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Non je n'obtiens aucune erreur le résultat n'est simplement pas correct : aucun enregistrement retourné par la requète alors que certains enregistrements répondent au critère (lorsque je lance le programme sous PyScripter le résultat est bon le problème apparait uniquement sous DOS...). Si la requète n'a pas de caractère accentué ou que je remplace le caractère accentué par la wildcard '%' alors le résultat est bon.

  4. #4
    Membre régulier

    Profil pro
    Inscrit en
    Février 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 76
    Points : 103
    Points
    103
    Par défaut
    As-tu déjà vérifé si le chaîne que tu tapes en ligne de commande est bien interprétée, avec les mêmes caractères (un print le_nom après le raw_input() pourra peut-être nous aider)?

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    oui, la chaîne est bien interprété.

    En fait je viens de trouver une solution pas très élégante - mais ça marche sous DOS - ajout de ces deux lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        le_nom=unicode(le_nom, 'cp850', 'replace')
        le_nom=le_nom.encode('latin-1','replace')
    maintenant le résultat est correct sous DOS mais n'est plus correct en lancant le programme sous PyScripter.

    ou une autre solution ajout en début de programme :
    problème avec cette solution lorsque je tape par exemple un "ê" c'est un "Û" qui s'affiche sous DOS mais le résultat est bon. Si je veux afficher ce que je tape il faut que je change la police de caractère sous DOS (passer en police 'Lucinda'). Et je ne sais pas sous python changer la police de caractère de la fenêtre DOS....

Discussions similaires

  1. Problème de caractères accentués dans un fichier .bat
    Par JeremieT dans le forum Windows XP
    Réponses: 1
    Dernier message: 02/03/2007, 16h32
  2. Réponses: 5
    Dernier message: 24/01/2007, 23h22
  3. [JSTL] Problème de caractères accentués
    Par youdev dans le forum Taglibs
    Réponses: 2
    Dernier message: 05/12/2006, 15h06
  4. Problème de caractères accentués avec CAM::DBF
    Par ustilago dans le forum Modules
    Réponses: 4
    Dernier message: 23/06/2006, 08h46
  5. [MiniPascal] Problème de caractères accentués
    Par Clandestino dans le forum Autres IDE
    Réponses: 3
    Dernier message: 03/10/2004, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo