python - Can't save file with non-ASCII symbols in file name via Django models -


i have problem on production server. when i'm trying upload file named russian symbols, i'm getting error

unicodeencodeerror: 'ascii' codec can't encode characters in position... 

saving:

#... code above ... file = request.files.get('file')  try:     item = modelitem(         model=file,         title=file.name,     )      item.save() # ... code below ... 

full traceback:

 file "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 589, in save     force_update=force_update, update_fields=update_fields)   file "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 617, in save_base     updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)   file "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 698, in _save_table     result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)   file "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 731, in _do_insert     using=using, raw=raw)   file "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 92, in manager_method     return getattr(self.get_queryset(), name)(*args, **kwargs)   file "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 921, in _insert     return query.get_compiler(using=using).execute_sql(return_id)   file "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 919, in execute_sql     sql, params in self.as_sql():   file "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 877, in as_sql     obj in self.query.objs   file "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/files.py", line 301, in pre_save     file.save(file.name, file, save=false)   file "/usr/local/lib/python2.7/dist-packages/django/db/models/fields/files.py", line 89, in save     self.name = self.storage.save(name, content)   file "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 50, in save     name = self.get_available_name(name)   file "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 75, in get_available_name     while self.exists(name):   file "/usr/local/lib/python2.7/dist-packages/django/core/files/storage.py", line 265, in exists     return os.path.exists(self.path(name))   file "/usr/lib/python2.7/genericpath.py", line 18, in exists     os.stat(path) unicodeencodeerror: 'ascii' codec can't encode characters in position 31-34: ordinal not in range(128) 

i tried set

os.environ['lang'] = 'en_us.utf-8' 

when server starts with, checked out output of

locale -a 

and found needed locales, didn't help.


Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -