Ralat Nilai Rentetan Tidak Betul semasa Menyimpan Rentetan Unikod dalam MySQL
Apabila cuba menyimpan rentetan unikod ke model auth_user Django, "nilai rentetan tidak betul "kesilapan mungkin berlaku. Ini kerana MySQL mempunyai had 3-bait pada aksara utf-8, manakala sesetengah aksara unikod memerlukan 4 bait.
Punca Punca:
Ralat berlaku kerana MySQL tidak boleh menyimpan aksara unicode tertentu kerana baitnya had.
Penyelesaian:
Untuk menyelesaikan isu ini:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
Alternatif:
Adalah penting untuk ambil perhatian bahawa dengan menukar kepada utf8mb4, anda perlu mengetahui kemungkinan isu keserasian dengan versi lama MySQL atau aplikasi lain yang mungkin tidak menyokong had 4-bait.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Nilai Rentetan Salah\' Semasa Menyimpan Rentetan Unikod dalam MySQL dengan Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!