django용 아파치+modssgi배치 후 중국어 난자 해결 방법
문제의 원인은 자신이python 관리자를 통해pyrunserver 0.0.0.0:8082 이런 방식으로 프로젝트를 시작하면 중국어가 어지럽지 않지만 건물주 자신도 아리운에 사이트를 배치했다.django+apache+mod 를 통해ssgi+ubuntu 같은 환경에서 설정된 경우 중국어 부호화 오류가 발생합니다.
몇 달 동안 이 문제를 해결하지 못했다.
오늘 프로젝트에 중국어 파일을 추가하여 업로드하려고 했는데 결과적으로 이런 상황에 부딪혔다. 로컬 서버는 되고 아리운 서버는 안 된다. 그래서 이 문제를 반드시 해치워야 한다고 마음을 모았다.다음은 해결 방법을 무상으로 바칩니다.
If you get a UnicodeEncodeError¶
If you’re taking advantage of the internationalization features of Django (see Internationalization and localization) and you intend to allow users to upload files, you must ensure that the environment used to start Apache is configured to accept non-ASCII file names. If your environment is not correctly configured, you will trigger UnicodeEncodeErrorexceptions when calling functions like the ones in os.path on filenames that contain non-ASCII characters.
To avoid these problems, the environment used to start Apache should contain settings analogous to the following:
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
Consult the documentation for your operating system for the appropriate syntax and location to put these configuration items; /etc/apache2/envvars is a common location on Unix platforms. Once you have added these statements to your environment, restart Apache.
즉,
/etc/apache2/envvars에 추가:
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
추가 후 아파치2 서비스 재시작 명령 실행하기
sudo service apache2 restart
또한django가 중국어 이름이 있는 파일을 업로드하여 유니코드 엔코드 에로르를 잘못 보고한 문제도 해결해 드리겠습니다.
그러나 올라온 파일에 [Errno 13] Permission denied의 오류가 발생했습니다. 그것은 배치된 사이트 프로젝트 디렉터리에 쓰기 권한을 주지 않았기 때문입니다.
해결 방법: 다음 명령을 실행하여 검색을 사이트 프로젝트 디렉터리로 바꾸면 됩니다.
sudo chmod g+w -R search/
sudo chgrp www-data -R search/
주의: - R 을 빠뜨리지 마십시오. 이것은 귀속 부여 쓰기 권한입니다. 그렇지 않으면 여전히 잘못 보고합니다. 빠뜨리지 마십시오./
몇 달 동안 각종 자료, 문서를 찾았더니 이 두 가지 중요한 문제를 해결했다. 천도임금이 부지런하다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.