Apabila cuba menyimpan rentetan unikod dalam MySQL menggunakan Django, anda mungkin menghadapi mesej ralat yang menyatakan " Nilai rentetan yang salah." Isu ini timbul disebabkan oleh pengehadan MySQL pada saiz aksara unikod dalam set aksara utf-8.
Set aksara utf-8 MySQL menyokong maksimum 3 bait setiap aksara. Walau bagaimanapun, aksara unicode tertentu memerlukan 4 bait atau lebih. Apabila aksara sedemikian disimpan, MySQL menimbulkan ralat "Nilai rentetan salah".
Untuk menyelesaikan isu ini, anda perlu melaksanakan langkah berikut:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', ... 'OPTIONS': {'charset': 'utf8mb4'}, } }
PostgreSQL menyokong penyimpanan aksara unicode 4-bait dalam set aksara utf8, tidak seperti MySQL. Oleh itu, anda boleh bertukar kepada PostgreSQL sebagai pilihan yang lebih sesuai untuk mengendalikan rentetan unicode dengan panjang aksara yang lebih panjang.
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'Nilai Rentetan Salah\' MySQL Semasa Menyimpan Rentetan Unikod dalam Django?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!