Problème avec les accents

Résolu
Messages postés
6
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
23 septembre 2006
-
Messages postés
6
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
23 septembre 2006
-
Bonjour à tous!

Je débute avec python et je suis bloqué depuis 2-3h...


Voila mon problème : J'ai programmé un script qui me permet de récuper
du texte sur des pages html et de le stocker dans une base de donnée
MySQL. Quand il n'y a pas d'accent dans le texte à récupérer, tout
marche nikel mais dès que je croise un accent, python me renvoi cette
erreur :

       Traceback (most recent call last):

          File "galax_test.py", line 67, in ?

             lien_db.query(requete)

       UnicodeEncodeError: 'ascii' codec can't encode character u'\xe8' in position 55: ordinal not in range(128)

Et voila le code en question:

import urllib

from BeautifulSoup import BeautifulSoup

import MySQLdb


lien=urllib.urlopen("http://www.toto.com")

page=lien.read()

soupe=BeautifulSoup(page)

nom_pl=soupe('th')[2].string


lien_db=MySQLdb.connect(host="localhost", user="titi", passwd="123", db="bdd")


requete="UPDATE table SET nompl='"+nom_pl[1:]+"' where planete='"+planete+"'"

lien_db.query(requete)

lien_db.commit()

lien_db.close()

Je vous dis à tous merci d'avance,

TyFFoul

2 réponses

Messages postés
124
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
11 mai 2009
16
Le problème ne serait pas lié au codage de caractères?
Mets en première ligne de ton fichier script:

# -*- coding: Latin-1 -*-

ou alors

# -*- coding: cp1252 -*-

peut être que ça résoudra?
Messages postés
6
Date d'inscription
mardi 31 août 2004
Statut
Membre
Dernière intervention
23 septembre 2006

ça marche avec
# -*- coding: cp1252 -*-
Mais l'interprète de commande DOS ne gère pas les accents donc je suis passé en interface graphique et le problème est résolu!

Merci ;)