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
-~----------~----~----~----~------~----~------~--~---

Reply via email to