집 >데이터 베이스 >MySQL 튜토리얼 >Django에서 유니코드 문자열을 저장할 때 \'잘못된 문자열 값\' 오류를 수정하는 방법은 무엇입니까?
Django에서 유니코드 문자열을 저장할 때 잘못된 문자열 값 오류
Django의 auth_user 모델에 유니코드 문자열을 저장하려고 하면 " 잘못된 문자열 값" 오류가 발생합니다. 이 오류는 일반적으로 MySQL 문자 집합 및 데이터 정렬 설정으로 인해 발생합니다.
MySQL 문자 집합 및 데이터 정렬
MySQL은 UTF-8 문자 집합을 지원하지만 문자는 3바이트로 제한됩니다. 이는 표준 UTF-8 문자 집합을 사용하여 MySQL에 4바이트 유니코드 문자를 저장할 수 없다는 의미입니다.
문제 설명
Django에서 저장을 시도할 때 유니코드 문자열을 auth_user 모델로 변환하면 MySQL은 이를 UTF-8 문자 세트로 변환하려고 시도합니다. 그러나 문자열에 4바이트 문자가 포함되어 있으면 변환이 실패하고 "잘못된 문자열 값" 오류가 발생합니다.
해결책
이 문제를 해결하려면 다음을 수행할 수 있습니다.
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
추가 고려 사항
위 내용은 Django에서 유니코드 문자열을 저장할 때 \'잘못된 문자열 값\' 오류를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!