2014-04-12 7 views
0

에 장고에 오류 인코딩 나는 사람들이Heroku가

UnicodeEncodeError at /admin/controladoria/orgao/2/ 

'ascii' codec can't encode character u'\xe7' in position 23: ordinal not in range(128) 

같은 문제

heroku config:add LANG=en_US.UTF-8 

나는 이미 그것을 한을 해결하지만, 인코딩 문제가 계속하려면이 명령을 사용하는 말을 몇 가지 항목을 참조하십시오 위의 명령을 실행하려고하면 내가 얻은 결과입니다 ....

[email protected]: (dev *) $ heroku config:add LANG=en_US.UTF-8 
Setting config vars and restarting rocky-hollows-8072... done, v11 
LANG: en_US.UTF-8 
[email protected]: (dev *) $ heroku run bash 
Running `bash` attached to terminal... up, run.7893 
~ $ python 
Python 2.7.6 (default, Jan 16 2014, 02:39:37) 
[GCC 4.4.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sys 
>>> sys.getdefaultencoding() 
'ascii' 

내 컴퓨터에서 sitecustomize.py 편집 됨 i 얻었다

Python 2.7.5 (default, Mar 11 2014, 21:42:34) 
[GCC 4.7.2] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import sys 
>>> sys.getdefaultencoding() 
'utf-8' 

그것은 일어날 예정입니까? 나는 내가 sitecustomize.py에 기본 인코딩을 넣으면 문제가 없다는 것을 안다.

어떻게 그게 Heroku에서 발생해야합니까? 내가 어떻게 Heroku에서 sitecustomize를 바꿀 수 없으면 그것을 해결할 수 있습니까?

Traceback: 
File "/app/.heroku/python/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    114.      response = wrapped_callback(request, *callback_args, **callback_kwargs) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/options.py" in wrapper 
    432.     return self.admin_site.admin_view(view)(*args, **kwargs) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view 
    99.      response = view_func(request, *args, **kwargs) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func 
    52.   response = view_func(request, *args, **kwargs) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner 
    198.    return view(request, *args, **kwargs) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapper 
    29.    return bound_func(*args, **kwargs) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view 
    99.      response = view_func(request, *args, **kwargs) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/decorators.py" in bound_func 
    25.     return func(self, *args2, **kwargs2) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/db/transaction.py" in inner 
    339.     return func(*args, **kwargs) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/options.py" in change_view 
    1233.     self.log_change(request, new_object, change_message) 
File "/app/.heroku/python/lib/python2.7/site-packages/django/contrib/admin/options.py" in log_change 
    614.    object_repr=force_text(object), 
File "/app/.heroku/python/lib/python2.7/site-packages/django/utils/encoding.py" in force_text 
    108.      s = six.text_type(bytes(s), encoding, errors) 

Exception Type: UnicodeEncodeError at /admin/controladoria/orgao/2/ 
Exception Value: 'ascii' codec can't encode character u'\xe7' in position 23: ordinal not in range(128) 
+0

그렇게하려면, 당신이 프로젝트의 루트에 runtime.txt 파일을 추가하고, 적절한 런타임을 선택 그 당시 Heroku의 지원에 도움을 주었고 여기에 게시하지 않았습니다. 그래서 그들은 내 루트 repo에 ".profile"을 넣으려고 했으므로 python 경로에 폴더를 구성하십시오. "PYTHONPATH = $ HOME/customizations_heroku : $ PYTHONPATH " 이 폴더에는 ... enecding 구성이있는 파일 ... sitecustomize.py가 포함되어 있습니다. "import sys sys.setdefaultencoding ("utf-8") " – danielbchaves

답변

0

오류 로그 저도 같은 문제가 있었다. 나에게 그것을 해결 한 유일한 것은 wsgi.py의 시작 부분에 넣어졌다.

reload(sys)  
sys.setdefaultencoding("utf-8") 

희망이있다.

1

이전 질문이지만 같은 문제를 발견했습니다.

내 해결책 : 나는 heroku의 비단 왁스 2.x를 발견했습니다.

내가 heroku에게 python 3.x (내 dev 환경으로)를 사용하라고 말했기 때문에 Eveything이 잘되었습니다. 여기에서 알 수있는 바와 같이

python-3.4.3 

: 사실 오래된 질문에, 내가 가진 https://devcenter.heroku.com/articles/python-runtimes