Version 2 (modified by Malcolm Tredinnick, 12 years ago) (diff)

Filled in basic content

The unicode branch

This branch aims to make Django's internals fully Unicode-aware.

How to get the branch

svn co

See our branch policy for full information on how to use a branch.


The main goals of this branch are:

  • Make it easier for developers to work with non-ASCII character data when working with Django.
  • Be more consistent in our string handling behaviour inside Django (see StringEncoding for details on this).


The branch was created on April 7, 2007.

Todo Items

The various pieces will be converted in roughly the following order:

  1. Template rendering
  2. Database I/O (requires introducing new DATABASE_CHARSET setting)
  3. Model class support
  4. Form input encoding
  5. Other output methods (if necessary; unchecked as yet)
    • syndication
    • serialisation
    • Google sitemaps
  6. Other contrib modules

We also need to look at the i18n support functions (in django.utils.translation):

  • Decide on usage of gettext() versus ugettext() in a number of places.
  • Look at rewriting gettext_lazy() so that it acts as a better string and unicode proxy.
Back to Top