一尘不染

UnicodeEncodeError:“ ascii”编解码器无法编码字符

django

当上传具有非ASCII字符的文件时,出现UnicodeEncodeError:

Exception Type: UnicodeEncodeError at /admin/studio/newsitem/add/
Exception Value: 'ascii' codec can't encode character u'\xf8' in position 78: ordinal not in range(128)

我使用MySQL,nginx和FastCGI运行Django 1.2。

根据Django Trac数据库,这是已解决的问题,但是我仍然有问题。欢迎提供有关如何修复的任何建议。

编辑:这是我的图像字段:

image = models.ImageField(_('image'), upload_to='uploads/images', max_length=100)

阅读 309

收藏
2020-03-30

共2个答案

一尘不染

对于使用Supervisor运行Django时遇到此问题的任何人,解决方案是在supervisordSupervisor的配置部分中添加以下内容:

environment=LANG="en_US.utf8", LC_ALL="en_US.UTF-8", LC_LANG="en_US.UTF-8"

这为我在Debian Squeeze上运行的Supervisor 3.0a8中解决了问题。

2020-03-30
一尘不染

在对此进行更多调查之后,我发现我尚未在我的主要Nginx配置文件中设置字符集:

http {
  charset  utf-8;
}

通过添加以上内容,问题消失了,我认为这是处理此问题的正确方法。

2020-03-30