2013-11-25 2 views
0

djanog를 사용하여 webfaction에 프로젝트를 배포했습니다. 최근까지 갑자기이 오류가 발생하기까지 모든 것이 잘되었습니다. UnicodeEncodeError : 'ascii'코덱은 64-68 위치의 문자를 인코딩 할 수 없습니다. 서수는 범위 내에 없습니다 (128) URL은 러시아어 문자입니다. 하지만 문제는 아파치를 다시 시작할 때 오류가 없다는 것입니다. 따라서 오류를 고정하는 것이 어렵습니다.django가있는 UnicodeEncodeError : 일관성없는 동작

+0

내장 Django 서버 (아마도 어딘가 오프라인)에서 이것을 시도 할 때이 오류가 발생합니까? – Evert

+0

아마도 django를 올바르게 구성하지 않았습니다. http://urfuclub.ru/blog/django-uwsgi-unicodeencodeerror-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%을 참조하십시오. D0 % B2 % D0 % B0 % D0 % BD % D0 % B8 % D0 % B5- % D1 % 84 % D0 % B0 % D0 % B9 % D0 % BB % D0 % BE % D0 % B2- % D1 % 81- D0 % BD % D1 % 8 % % D0 % B % % D1 % 8B % D1 % 87 % D0 % BD % D1 % 8 % D0 % % BC % D0 % B8- % D0 % B8 % D0 % BC % D0 % B5 % D0 % BD % D0 % B0 % D0 % BC % D0 % B8- % D0 % BA % D0 % B8 % D1 % 80 % D0 % B8 % D0 % BB % D0 % BB % D0 % B8 % D1 % 86 % D0 % B0- % D0 % B2- % D0 % B8 % D0 % BC % D0 % B5 % D0 % BD % D0 % B0 % D1 % 85- % D1 % 84 % D0 % B0 % D0 % B9 % D0 % BB % D0 % BE % D0 % B2/ – beerbajay

+0

아마도. 나는 그것을 조사 할 것이다. 하지만 내가 왜 아파치를 다시 시작할 때 키릴 문자로 괜찮은지 알 수 없다. ??? 프로덕션 서버입니다. – Andrey

답변

0

읽기 :

는 대부분의 경우 당신이 UTF-8이 아파치에서 실행되는 환경에 대한 LANG 로케일로 설정되어 있는지 확인해야합니다.

그렇지 않으면 코드에서 유니 코드 문제를 직접 처리해야합니다.

+0

아파치를 제어 할 수 없습니다 (Webfaction의 것입니다). 그래서 두 번째 옵션으로 모든 URL이 유니 코드임을 보장합니다. 내 질문에 대한 내 대답을 참조하십시오. – Andrey

+0

웹 팩션 (Web Faction)에서 아파치 (Apache)의 시작은 그것이 사용되어야한다는 것을 선택할 때 생성 된 계정으로 생성 된 스크립트를 통해 제어됩니다. 즉, 필요에 따라 스크립트를 수정할 수 있어야합니다. ~/webapps 아래에 생성 된 특정 사이트 응용 프로그램 디렉토리의 apache2/bin에서 찾아보십시오. 특히 apachectl 스크립트를보고 동일한 디렉토리에있는 'envvars'파일을 여전히 존중하는지, 즉 환경 변수를 읽는 지 확인하십시오. 그렇다면 거기에 붙이십시오. –

+0

솔기가있어, 모든 URL을 일반 ASCII로 작성하여 해결했지만 통찰력에 감사드립니다. 나중에 참조 할 것입니다! – Andrey

0

이 오류는

그래서이에 대한 unicode()을 추가 할 수 있습니다 .. 때문에 파일 이름이나 파일 내용 cotains 가비지 컬렉션의 나 (영어 제외) 다른 언어로 제공됩니다. 또는이 상황을 처리하는 NLTK 라이브러리를 확인하십시오.

+0

네, 이런 문제가 있었지만 지금은 약간 다릅니다. 단지 일관성이 없습니다 (때로는 오류가 발생하기도하고 가끔씩 - 같은 URL에있는 경우도 있습니다). – Andrey

0

나는 그것이 webfaction 또는 Apache와의 잘못된 처리와 관련이 있다고 생각합니다. 사실, crontab에 Apache 명령을 다시 시작했습니다. (아파치가 의도적으로 다시 시작 처리) 비슷한 질문을 찾을 수 의 webfaction 사람이 제안 :

touch /path to /wsgi.py 

대신 :

apache2/restart 

I 교체 후 .../위의 라인을 다시 시작 나는 어떤이 없습니다 더 많은 오류 메시지.

+0

불행히도, 다시 유니 코드 오류가 발생했습니다 ... URL의 유니 코드로 변경되었습니다. 며칠 동안 안정을 유지하는 것 같습니다.관심이 있다면 메 자닌 설정에서 SLUGIFY = 'uuslug.slugify'설정을 사용했습니다. (물론 uuslug를 설치했다) – Andrey

관련 문제