4

在开发平台上上传工作正常,但是当我在服务器上部署和测试时上传失败并出现以下错误

UnicodeEncodeError at /upload
'ascii' codec can't encode characters in position 25-30: ordinal not in range(128)

我用

django-ajax-uploader,

Django version: 1.3.1,

Python version: 2.6

我相信它发生在带有Roman, Russian,Chinese文件名的文件上。

还发现了类似的讨论

为什么我在 Python 2.4 中收到 Unicode 数据的 ASCII 编码错误,但在 2.7 中却没有?

但关于 Python 版本的差异。

我试图将环境$LANG变量设置为en_US.utf8等,但它没有用。

任何人都可以给我一个建议或指出正确的方法吗?

谢谢,

苏丹

4

1 回答 1

2

请参阅如果您在 django 文档中收到 UnicodeEncodeError 。

就个人而言,我更喜欢将上传的文件重命名为 ASCII 字符集以避免其他问题。这是一篇文章的链接,其中包含描述子类化 FileSystemStorage 的代码。

于 2012-05-29T19:31:57.527 回答