summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Frazier <nrf@nickfrazier.com>2021-10-05 08:42:45 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-10-08 12:26:06 +0200
commitbf4be3711acfbfc765fb17dc238b1b9bbad5b7be (patch)
tree5ba8e8b3defbc3acbd7cc6d5bb1141963747bfd6
parent28f66b2783e52d5be51887c31cd2be907b820e11 (diff)
Improved docs regarding UTF-8 support with Apache and mod_wsgi.
-rw-r--r--docs/howto/deployment/wsgi/modwsgi.txt12
-rw-r--r--docs/ref/unicode.txt6
2 files changed, 12 insertions, 6 deletions
diff --git a/docs/howto/deployment/wsgi/modwsgi.txt b/docs/howto/deployment/wsgi/modwsgi.txt
index e12c927cf4..aba4178e7e 100644
--- a/docs/howto/deployment/wsgi/modwsgi.txt
+++ b/docs/howto/deployment/wsgi/modwsgi.txt
@@ -83,15 +83,21 @@ should put in this file, and what else you can add to it.
.. admonition:: Fixing ``UnicodeEncodeError`` for file uploads
- If you get a ``UnicodeEncodeError`` when uploading files with file names
- that contain non-ASCII characters, make sure Apache is configured to accept
- non-ASCII file names::
+ If you get a ``UnicodeEncodeError`` when uploading or writing files with
+ file names or content that contains non-ASCII characters, make sure Apache
+ is configured to support UTF-8 encoding::
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
A common location to put this configuration is ``/etc/apache2/envvars``.
+ Alternatively, if you are :ref:`using mod_wsgi daemon mode<daemon-mode>`
+ you can add ``lang`` and ``locale`` options to the ``WSGIDaemonProcess``
+ directive::
+
+ WSGIDaemonProcess example.com lang='en_US.UTF-8' locale='en_US.UTF-8'
+
See the :ref:`unicode-files` section of the Unicode reference guide for
details.
diff --git a/docs/ref/unicode.txt b/docs/ref/unicode.txt
index 209cd68060..d35476ada7 100644
--- a/docs/ref/unicode.txt
+++ b/docs/ref/unicode.txt
@@ -291,8 +291,8 @@ Files
If you intend to allow users to upload files, you must ensure that the
environment used to run Django is configured to work with non-ASCII file names.
If your environment isn't configured correctly, you'll encounter
-``UnicodeEncodeError`` exceptions when saving files with file names that
-contain non-ASCII characters.
+``UnicodeEncodeError`` exceptions when saving files with file names or content
+that contains non-ASCII characters.
Filesystem support for UTF-8 file names varies and might depend on the
environment. Check your current configuration in an interactive Python shell by
@@ -306,7 +306,7 @@ This should output "UTF-8".
The ``LANG`` environment variable is responsible for setting the expected
encoding on Unix platforms. Consult the documentation for your operating system
and application server for the appropriate syntax and location to set this
-variable.
+variable. See the :doc:`/howto/deployment/wsgi/modwsgi` for examples.
In your development environment, you might need to add a setting to your
``~.bashrc`` analogous to:::