【问题标题】:Django: uploaded file encoding issuesDjango:上传文件编码问题
【发布时间】:2012-06-04 00:52:12
【问题描述】:

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

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

我相信带有RomanRussianChinese 文件名的文件会发生这种情况。

上也找到了类似的讨论

Why do I get a ASCII encoding error with Unicode data in Python 2.4 but not in 2.7?

但是关于 Python 版本的差异。

我尝试将环境 $LANG 变量设置为 en_US.utf8 等,但没有成功。

谁能给我建议或指出正确的方法?

谢谢,

苏丹

【问题讨论】:

    标签: python django encoding upload


    【解决方案1】:

    请参阅 django 文档中的 If you get a UnicodeEncodeError

    就个人而言,我更喜欢将上传的文件重命名为 ASCII 字符集以避免其他问题。这是一个指向 article with code 的链接,它描述了 FileSystemStorage 的子类化。

    【讨论】:

    • 感谢您的建议,我最终创建了音译功能来为上传的文件提供有效的文件名
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2011-11-01
    • 2011-08-17
    • 2011-04-24
    • 2013-02-21
    • 2010-10-07
    • 1970-01-01
    相关资源
    最近更新 更多