안녕하세요 django를 이용해서 동아리를 위한 웹서비스를 개발하고 있는데요 python-

 
한윤구

안녕하세요
django를 이용해서 동아리를 위한 웹서비스를 개발하고 있는데요
python-social-auth를 이용하는 과정에서
(1267, “Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation ‘='”)
에러가 발생합니다
AWS RDS parameter groups 에서 인코딩 관련 설정을 전부 utf8로 바꾸었는 데도 해결되지 않아
혹시 해결 방안을 아시는 분이 있으신지 여쭙고 싶습니다

  • 남홍김

    디비, 테이블, 컬럼 인코딩도 수정하셨는지요?

    한윤구

    db 관련 설정은 settings에서 ‘DEFAULT-CHARACTER-SET’: ‘utf8’ 만 했고 social app 관련 table을 모두 지우고 다시 깔아보는 것까지 시도해 봤습니다

    한윤구

    table의 DEFAULT CHARSET=latin1 부분이 문제인것 같아요
    table을 하나씩 바꾸고 싶지 않아서 알아보고 있는데
    1) 리눅스에서 init_connect=”SET collation_connection=utf8_general_ci”로 설정 하듯이 parameter group을 설정하는 방법이 있을까요. init_connect 항목은 있는데 관련 reference 자료가 안 보여서 그냥 “SET ~”을 적으니 안 됐어요
    2) dbshell에서 수정한다면 모든 table의 설정을 한꺼번에 바꾸는 방법은 어떻게 해야하나요?
    친절하게 답변 해주셔서 감사합니다 !!

    권재원

    AWS RDS db 기본이 latin입니다. 원래라면 parameter 설정으로 수정이 되야는데 해보면 몇몇 테이블이 적용이 안됩니다.(왜 인지는.. 저도 모르겠지만 저도 이것때문에 고생 좀 했네요) 안되는 경우에는 sql 구문으로 직접 수정해야합니다. 국제 표준이 utf인데 AWS가 이런것까진 세세히 신경 안써주네요

    권재원

    참고로 sql 구문으로 해결 하실려면 방법이 여려가지인데 rds 같은 경우 ssh 접속이 힘드므로 보통은 workbench로 접속해서 노가다로 일일히 바꿔줬습니다

    한윤구

    오 감사합니다

Advertisements