pyodbc를 사용하여 Latin1_General_CI_AI 인코딩으로 MS SQL Server 데이터베이스와 통신하는 장고 앱이 있습니다. (나는이 데이터베이스 여부를 제어 할 수 없습니다 및 인코딩을 변경할 수 없습니다.)Django pyodbc Latin1_General_CI_AI 인코딩
문제를 장고에서가는 모든 문자열이 있다는 것입니다 -> pyodbc 인코딩해야합니다 :
m = MyModel()
m.foo = 'foo' # Garbage characters are saved
m.foo = 'foo'.encode('latin1') # String is saved correctly
m.save()
: 예를 들어
두 번째 문제는 쿼리 문자열도 인코딩해야한다는 것입니다.
MyModel.objects.get(name=name) # fails
MyModel.objects.get(name=name.encode('latin1')) # works
더 일반적인 방법으로 처리 할 수 있습니까? 모델 믹스 인 또는 DB 백엔드 중 하나? 내가 장고의 SQLCompiler에 장소를 볼 수 있지만 어떻게 영향을 미칠.