sAlut Ce que Thomas essaie de dire c'est , "hé" est un str , et u"hé" c'est de l'unicode
Le fonction set_cookie de Django utilise la classe SimpleCookie de Python https://github.com/django/django/blob/master/django/http/cookie.py et cette classe avant de faire un __setitem__ (u"hé") va convertir value en str en faisant str(u"hé") et une erreur est retournée. UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128) "hé" marche parceque str("hé") = "hé" Cependant rien ne t’empêche d’écrire ta propre classe en héritant de http://hg.python.org/cpython/file/2.7/Lib/Cookie.py regarde SmartCookie . Je n'ai aucune idée de comment changer la classe SimpleCookie par de faut de django mais le bon sens voudrait que l'on puisse faire via un MiddleWare en tout cas c'est ce que django suggére. class MonUnicodeCookieMiddleware(object): def process_response(self, request): request.cookies = MonUnicodeCookie() Thomas a raison qu'il ne faut passer que des clefs au Cookies . —Ad Le 11 juillet 2013 15:49, Séno Hervé Edorh <[email protected]> a écrit : > Salut la liste, > > J'ai un petit problème avec la fonction set_cookie de django qui ne > supporte pas *unicode* > > Mon nom comporte des accents aigus ce qui fait que lorsque je reçois > > if user is not None: > if user.is_active: > login(request, user) > > name = u'%s' % user.get_full_name().strip() > > > Le get_full_name() reçoit "Hervé Séno Edorh" > > donc quand je veux "set mon cookie" > > request.set_cookie("nom", name) > > j'ai une erreur d'unicode Encode > > UnicodeEncodeError at /'ascii' codec can't encode character u'\xe9' in > position 1: ordinal not in range(128) > > > Des idées? Merci > -- > EDORH Hervé Séno > Developper > http://www.edorh.com/ > West Africa > > > -- > Ce message a été envoyé à la liste [email protected] > Gestion de votre abonnement : http://dakarlug.org/liste > Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug > Le site du DakarLUG : http://dakarlug.org >
-- Ce message a été envoyé à la liste [email protected] Gestion de votre abonnement : http://dakarlug.org/liste Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug Le site du DakarLUG : http://dakarlug.org
