Skip to content

Commit

Permalink
Fixed #10426 -- Added note on language variables required for Apache …
Browse files Browse the repository at this point in the history
…to survive non-ASCII file uploads. Thanks to daybreaker for the report, and david for the draft text.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@11170 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
russellm committed Jul 3, 2009
1 parent ae33431 commit c48e98e
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions docs/howto/deployment/modpython.txt
Expand Up @@ -6,8 +6,8 @@ How to use Django with Apache and mod_python

.. highlight:: apache

The `mod_python`_ module for Apache_ can be used to deploy Django to a
production server, although it has been mostly superseded by the simpler
The `mod_python`_ module for Apache_ can be used to deploy Django to a
production server, although it has been mostly superseded by the simpler
:ref:`mod_wsgi deployment option <howto-deployment-modwsgi>`.

mod_python is similar to (and inspired by) `mod_perl`_ : It embeds Python within
Expand Down Expand Up @@ -378,3 +378,24 @@ as necessary.
.. _Expat Causing Apache Crash: http://www.dscpl.com.au/articles/modpython-006.html
.. _mod_python FAQ entry: http://modpython.org/FAQ/faqw.py?req=show&file=faq02.013.htp
.. _Getting mod_python Working: http://www.dscpl.com.au/articles/modpython-001.html

If you get a UnicodeEncodeError
===============================

If you're taking advantage of the internationalization features of Django (see
:ref:`topics-i18n`) and you intend to allow users to upload files, you must
ensure that the environment used to start Apache is configured to accept
non-ASCII file names. If your environment is not correctly configured, you
will trigger ``UnicodeEncodeError`` exceptions when calling functions like
``os.path()`` on filenames that contain non-ASCII characters.

To avoid these problems, the environment used to start Apache should contain
settings analogous to the following::

export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'

Consult the documentation for your operating system for the appropriate syntax
and location to put these configuration items; ``/etc/apache2/envvars`` is a
common location on Unix platforms. Once you have added these statements
to your environment, restart Apache.

0 comments on commit c48e98e

Please sign in to comment.