Problème avec les accents [Résolu]

Messages postés
6
Date d'inscription
mardi 31 août 2004
Dernière intervention
23 septembre 2006
- - Dernière réponse : TyFFoul
Messages postés
6
Date d'inscription
mardi 31 août 2004
Dernière intervention
23 septembre 2006
- 23 sept. 2006 à 22:07
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
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
124
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
11 mai 2009
3
Merci
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?

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_vychnou
Messages postés
6
Date d'inscription
mardi 31 août 2004
Dernière intervention
23 septembre 2006
3
Merci
ç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 ;)

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de TyFFoul

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.