Olá Pessoal,
Antes de postar, já vasculhei aqui e não consegui achar uma solução para o problema que estou passando, não só aqui como em foruns internacionais, segue as informações:
Ubuntu 12.04 LTS
Django 1.5.1
uwsgi
Nginx 1.x
No ubuntu já certifiquei o locale, já está tudo como pt_br e UTF-8
LANG=pt_BR.UTF-8
LANGUAGE=pt_BR:en
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC="pt_BR.UTF-8"
LC_TIME="pt_BR.UTF-8"
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY="pt_BR.UTF-8"
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER="pt_BR.UTF-8"
LC_NAME="pt_BR.UTF-8"
LC_ADDRESS="pt_BR.UTF-8"
LC_TELEPHONE="pt_BR.UTF-8"
LC_MEASUREMENT="pt_BR.UTF-8"
LC_IDENTIFICATION="pt_BR.UTF-8"
LC_ALL=pt_BR.UTF-8
No Nginx:
Na seção http {
charset utf-8;
}
No Settings.py da aplicação Django:
LANGUAGE_CODE = 'pt-br'
DEFAULT_CHARSET = 'utf-8'
SITE_ID = 1
# If you set this to False, Django will make some optimizations so as not
# to load the internationalization machinery.
USE_I18N = True
# If you set this to False, Django will not format dates, numbers and
# calendars according to the current locale.
USE_L10N = True
# If you set this to False, Django will not use timezone-aware datetimes.
USE_TZ = True
E também no wsgi.py, forcei a usar:
import locale
locale.setlocale(locale.LC_ALL, "")
print locale.getlocale()
E retorna o locale corretamente, até no shell do django estando mostrou o locale correto.
Mas quando tenta via admin mandar um arquivo de foto com acento, lá vem o famigerado erro
'ascii' codec can't encode characters in position 86-87: ordinal not in range(128)
Se eu removo os acentos, o arquivo sobe tranquilo, já tentei as dicas que achei na internet e continua retornando este erro, alguém já passou por experiência e poderia compartilhar para ajudar?
Obrigado.
Toninho Nunes