علیرضا جوادی
3 سال پیش توسط علیرضا جوادی مطرح شد
4 پاسخ

تغیر collation دیتابیس در لاراول

سلام دوستان من چطوری میتونم collation دیتابیس رو تغیر بدم تا حروف فارسی هم درست داخلش ذخیره بشن

تصویر دیتابیس

تو این عکس قسمت tags رو ببینید من یه تگ فارسی به صورت ارایه وارد کردم ولی وقتی ذخیره شد اینطوری شد من وقتی میخوام از دستور LIKE برایه جستجو در قسمت tags استفاده کنم حروف انگلیسی رو پیدا میکنه اما حروف فارسی رو پیدا نمیکنه!


ثبت پرسش جدید
افشار محمودیان
تخصص : برنامه نویس
@afsharmahmoodian 3 سال پیش مطرح شد
1

فکر کنم شما قصد دارید یک آرایه رو تو دیتابیس ذخیره کنید ... برای این کار از دو تابع زیر استفاده کنید و آرایه رو به متن تبدیل کنید که بشه تو دیتابیس ذخیره کرد و موقعی که از دیتابیس میخواهید بخونید اون رو به آرایه تبدیل کنید ...

serialize()
unserialize()

افشار محمودیان
تخصص : برنامه نویس
@afsharmahmoodian 3 سال پیش آپدیت شد
0

وارد phpmuadmin بشید و دیتا بیس رو انتخاب کنید و وارد قسمت Operations بشید و پایین صفحه قسمت collation رو میبینید...
utf8mb4persianc انتخاب کنید و تیک اعمال روی همه تیبل ها رو بزنید.

اگر خواستید از migration ها استفاده کنید باید بصورت زیر عمل کنید ...

public function up()
{
    DB::statement("SQL COMMAND");
}

برای دستورش هم از لینک زیر استفاده کنید.
https://stackoverflow.com/questions/10859966/how-to-convert-all-tables-in-database-to-one-collation


علیرضا جوادی
تخصص : برنامه نویس php
@mefroen 3 سال پیش مطرح شد
0

@afsharmahmoodian
اقایه محمودیان عزیز همین الان کاری رو که فرمودین تست کردم بازم همون خروجی قبل رو میده راه دیگه ای نیست؟


افشار محمودیان
تخصص : برنامه نویس
@afsharmahmoodian 3 سال پیش مطرح شد
1

فکر کنم شما قصد دارید یک آرایه رو تو دیتابیس ذخیره کنید ... برای این کار از دو تابع زیر استفاده کنید و آرایه رو به متن تبدیل کنید که بشه تو دیتابیس ذخیره کرد و موقعی که از دیتابیس میخواهید بخونید اون رو به آرایه تبدیل کنید ...

serialize()
unserialize()

محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
1

مقدار Collation رو روی utf8_persian_ci تنظیم کنید.

یکبار دیتابیستون رو کلا خالی کنید. تغییرات رو اعمال کنید و بعد دیتای جدید فارسی داخلش بریزید.
تا جایی که می‌دونم اگر قبل از اعمال تغییرات متن فارسی رو ذخیره کرده باشید عملا اون متن غیرقابل بازگشت و استفاده خواهد بود.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام