Найти - Пользователи
Полная версия: Вопрос по перекодировке имен файлов в приложении на Django
Начало » Django » Вопрос по перекодировке имен файлов в приложении на Django
1
Andrejus
Доброго времени суток.

Задача такая: пользователи на windows-ПК прикрепляют файлы через соотв. поле в форме. Django работает на RHEL5.

При попытке сохранить файл с кириллическим именем получаю

UnicodeEncodeError at /addfile/
'ascii' codec can't encode characters in position 52-60: ordinal not in range(128)

Кто-нибудь решал подобную задачу?
JOHN_16
несколько странно, ведь Джанго получает данные формы преобразовывая их в Unicode объекты, и вы далее должны работать именно с ними,а не с обычными строками. И соответственно при сохранении файла с таким именем должно произойти корректное преобразование уникода в строку в соответствии с настройками вашей ОС, где я уверен UTF-8.

Проверяйте выше сказанное, да и не плохо бы код увидеть
Andrejus
JOHN_16
несколько странно, ведь Джанго получает данные формы преобразовывая их в Unicode объекты, и вы далее должны работать именно с ними,а не с обычными строками. И соответственно при сохранении файла с таким именем должно произойти корректное преобразование уникода в строку в соответствии с настройками вашей ОС, где я уверен UTF-8.Проверяйте выше сказанное, да и не плохо бы код увидеть

код:
class Doc(models.Model):
    DOC_DIRECT = (('I', 'ВХ'), ('O', 'ИСХ'), )
    
    direction = models.CharField(max_length=1, default="I", choices=DOC_DIRECT) # Входящий или исходящий
    reg_tag = models.CharField(max_length=30, default='', null=True, blank=True) # рег номер и дата ВЦ, дата - обязательна
    reg_date = models.DateField(default=date.today())
    ext_reg_tag = models.CharField(max_length=30, null=True, blank=True) # рег номер и дата канцелярии, необязательны
    ext_reg_date = models.DateField(blank=True, null=True) 
    file = models.FileField(upload_to='') # Прикреплённый файл

Только указанной проблемы в коде нет :)
Проблема в том, что апач в деплое под линуксом получает неверную кодировку файловой системы:
Четать туд
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB