Django SQLite 오류: 유니코드 문자열을 저장할 때 "잘못된 문자열 값"
유니코드 문자열을 저장할 때 "잘못된 문자열 값" 오류 발생 Django의 auth_user 모델은 실망스러울 수 있습니다. 이 오류는 일반적으로 문자열에 허용되는 문자 인코딩 또는 최대 바이트 길이에 문제가 있음을 나타냅니다.
원인:
이 오류의 근본 원인은 MySQL이 utf-8 문자 세트를 사용하는 유니코드 문자는 3바이트로 제한됩니다. 즉, 분음 부호나 특수 기호가 있는 문자와 같이 3바이트 이상이 필요한 문자는 utf-8 문자 세트를 사용하여 MySQL 테이블에 저장할 수 없습니다.
해결책:
이 문제를 해결하려면 다음을 수행해야 합니다. 단계:
DATABASES = { 'default': { # ... other settings ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
PostgreSQL 변형:
PostgreSQL을 데이터베이스 백엔드로 사용하는 경우 PostgreSQL이 유니코드 문자를 지원하므로 이 문제가 발생하지 않을 수 있습니다. 최대 길이는 4입니다. bytes.
결론:
MySQL 5.5 이상으로 업그레이드하고 utf8mb4 문자 세트를 사용하면 유니코드 문자열을 저장할 때 "잘못된 문자열 값" 오류를 해결할 수 있습니다. 장고에서. Django 설정을 수정하고 필요에 따라 데이터베이스 스키마와 필드 길이를 조정하는 것을 잊지 마세요.
위 내용은 유니코드 문자열을 SQLite에 저장할 때 Django에서 \'잘못된 문자열 값\' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!