This appears to be a usage question. This list is for the development of Django itself, not developing projects that use Django. Usage questions should be directed to the django-users list [1].
[1]: http://groups.google.com/group/django-users That said, it appears that you are taking issue with markdown, which is a separate library not included with django. Issues with markdown should be addressed on that projects mailing list [2]. However, keep in mind that markdown knows (almost) nothing about encodings. It only works with unicode (or ascii) text. You *must* give markdown unicode text and it *only* outputs unicode text. It is your responsibility to deal with whatever encodings you need. It would be almost imposable for markdown to support every possibility, so it doesn't even try. [2]: http://sourceforge.net/mailarchive/forum.php?forum_name=python-markdown-discuss However, Django does have some handy mechanisms [3] for dealing with this sort of thing. You might want to check them out. [3]: http://www.djangoproject.com/documentation/unicode/ Also, why are you importing markdown from the template filter? Why not just import markdown directly? On Wed, May 21, 2008 at 2:11 PM, Mike Chambers <[EMAIL PROTECTED]> wrote: > > I just ran into an issue where i was getting unicode errors when trying > to insert data into mysql (via a model). > > I had this code: > > -- > from django.contrib.markup.templatetags.markup import markdown > > def save(self): > self.content_html = markdown(self.content_source) > > super(Chapter, self).save() > -- > > self.content_source is utf-8 > > This would cause a unicode error when the code tried to save the string > in the DB (mysql) if content_source contained any non-ascii chars. > > I was able to fix this by explicitly setting the encoding on the string > returned from markdown() > > -- > from django.contrib.markup.templatetags.markup import markdown > > def save(self): > self.content_html = markdown(self.content_source).encode("utf-8") > > super(Chapter, self).save() > -- > > However, I would have expected the markdown function to return the > correctly encoded string. > > Here is a simple script that I believe shows the difference in output: > > -- > from django.contrib.markup.templatetags.markup import markdown > > tmp = u'Andr\202' > m = markdown(tmp) > print m > m = markdown(tmp).encode("utf-8") > print m > -- > > Python 2.5.1 (r251:54863, Jan 17 2008, 19:35:17) > django.VERSION (0, 97, 'pre') > > I am pretty new to django, and dont have much experience working with > unicode, so I wanted to post here to see if anyone thought that this > looked like a bug? If so I will log it. > > mike > > > > > -- ---- Waylan Limberg [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-developers?hl=en -~----------~----~----~----~------~----~------~--~---