مرکز آموزش میهن وب هاست

مرکز آموزش میهن وب هاست

رفع ارور Incorrect string value در جنگو

پرینت این مقاله پرینت این مقاله

گاها در پروژه های جنگو زمانی که داده‌ای وارد یک جدول می‌کنید با خطای "Incorrect string value" روبرو می شوید. این ارور زمانی رخ می دهد که داده وارد شده با تنظیمات charset یا collation آن جدول سازگار نیست. معمولاً مشکل مذکور به دلیل استفاده از کاراکتر هایی همچون ایموجی یا حروف فارسی است که با تنظیمات فعلی جداول پایگاه داده تطابق ندارند. برای رفع این خطا، می‌توانید مراحل زیر را جهت اصلاح collation فیلد مد نظر به utf8mb4_persian_ci یا utf8mb4_general_ci دنبال کنید:
  1. پس از ورود به هاست، از قسمت "Databases" وارد "phpMyAdmin" شوید:


تصویر(1)

  1. با انتخاب دیتابیس و جدول مورد نظر که داده در آن قرار خواهد گرفت، از تب های مربوط به جداول، گزینه "Structure" را انتخاب نمایید و برای تغییر نوع "collation" روی گزینه "Change" کلیک کنید.


تصویر(2)

  1. پس از آن، نوع "Collation" را روی "utf8mb4_persian_ci" یا utf8mb4_general_ci قرار داده و روی Save کلیک نمایید.


تصویر(3)

اگر خطای مذکور در حین migrate دیتابیس رخ داد، پس از انجام اصلاحات، مجددا کد ذیل را در ترمینال اجرا کنید:

python manage.py migrate

چنانچه خطاهای مشابه زیادی دیده شد، بهتر است  مراحل زیر را برای تمامی جداول و فیلد های دیتابیس انجام دهید:

  1. دیتابیس را انتخاب کنید.

  2. روی تب "operations" کلیک نمایید تا صفحه‌ جدید باز شود.

  3. در قسمت "collation" مقدار را روی "utf8mb4_general_ci" یا  utf8mb4_persian_ci قرار دهید.

  4.  تیک گزینه "change all tables collations" را بزنید.

  5. برای اعمال تغییرات، روی گزینه "Go" کلیک نمایید.

  6. بعد از انجام مراحل بالا، مجدد به محیط ترمینال برگشته و دستور migrate زیر را اجرا نمایید.

python manage.py migrate


تصویر(4)

5/5 از 1 رای