저는 Python 2.7 Django + AngularJS 앱을 가지고 있습니다. 데이터 모델에 공급되는 입력 필드가 있으며 데이터는 Angular의 $ http를 사용하여 서버로 전송됩니다. 입력 필드에 "é"문자가 포함되어 있으면 장고는 그것을 좋아하지 않습니다. "★ é"를 사용할 때 장고는 아무런 문제가 없습니다. latin1 문자 세트 외부에있는 별표 문자는 utf-8로 인코딩해야하지만 비 라틴 문자가 "é"인 경우 Angular는 데이터를 latin1로 보내어 파이썬 코드를 혼란스럽게합니다.AngularJS의 Latin1/UTF-8 인코딩 문제
장고에서 오류 메시지는 다음 UnicodeDecodeError 상기 데이터를 판독하기 위해 서버() 함수 simplejson.loads 알려주
잘못된 연속 바이트 'UTF8'코덱 위치 0 바이트 0xe9을 디코딩 할 수없는 입력 문자열에 é가 포함되어 별표가없는 경우 ISO-8859-1 (latin1) 인코딩을 사용하면 브라우저에서 가져 오는 데이터가 latin1이 아닌 것을 증명할 수 있습니다. 즉, latin1이 아닌 문자로 utf-8을 강제하지 않는 한 , 별처럼.
각도가 utf-8을 사용하여 항상 데이터를 보내도록 지시하는 방법이 있습니까?
서버로 데이터를 전송 각도 코드 : 데이터를 읽고
$http({
url: $scope.dataUrl,
method: 'POST',
data: JSON.stringify({recipe: recipe}),
headers: {'Content-Type': 'application/json'}
}).success(...).error(...);
장고 코드 :
recipe = simplejson.loads(request.raw_post_data)['recipe']
안녕 그냥 암 것두 기억 안나 여기에 설명 된대로이 가능한 경우 $ httpProvider.defaults.headers 구성 개체와 "동의 - 문자 집합을"HTTP 헤더를 변경하는 것입니다 : http://docs.angularjs.org/api /ng.$http – koolunix