2012-05-29 3 views
3

На загрузки платформы разработки работает нормально, но когда я раскрываю и тест на загрузку сервера выдает следующее сообщение об ошибкеДжанго: закачано кодировка файла выдает

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 именами файлов.

Также найдено аналогичное обсуждение на

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 и т. Д., Но это не сработало.

Может ли кто-нибудь дать мне совет или указать правильный путь?

Спасибо,

Султан

ответ

2

Смотрите в Джанго документации If you get a UnicodeEncodeError.

Лично я предпочитаю переименовывать загруженные файлы в кодировку ASCII, чтобы избежать других проблем. Вот ссылка на article with code, которая описывает подклассификацию FileSystemStorage.

+0

спасибо за совет, я в конечном итоге создаю функцию транслитерации, чтобы предоставить действительное имя файла для загруженного файла – sultan