Problème avec les accents [Résolu]

TyFFoul 6 Messages postés mardi 31 août 2004Date d'inscription 23 septembre 2006 Dernière intervention - 24 août 2006 à 17:58 - Dernière réponse : TyFFoul 6 Messages postés mardi 31 août 2004Date d'inscription 23 septembre 2006 Dernière intervention
- 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
cs_vychnou 124 Messages postés dimanche 5 octobre 2003Date d'inscription 11 mai 2009 Dernière intervention - 13 sept. 2006 à 18:29
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?

Merci cs_vychnou 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes ce mois-ci

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

Merci TyFFoul 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 99 internautes 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.