راکت
حل شده

سوال در مورد collation در my sql

5 پاسخ

چندتا سوال در مورد collation ها داشتم:
1- من مبحث collation ها در my sql رو خوب متوجه نشدم. میشه برام یه توضیح کامل بدین؟
2- collation مناسب برای دیتای فارسی چیه؟
3- سوال بعدم اینه که من با لاراول اومدم و جداول رو ساختم وقتی در my sql چک می کنم می بینم collation دیتابیس utf8mb4_general_ci تنظیم شده و collation جداول utf8mb4_unicode_ci تنظیم شده و collation فیلد های جداول هم utf8mb4_unicode_ci تنظیم شده . دلیل متفاوت بودن collation دیتابیس و جداول و فیلد ها چیه و هر کدوم به چه معنا هست؟
4- چطوری در لاراول هنگام ساخت مایگریشن collation جدول و فیلد هاشون رو تنظیم کنیم؟

ali
ali
@programmer316947
ثبت پرسش جدید

پاسخ‌ها

5
امین محمدزاده
امین محمدزاده
@amin.webdesign

تخصص: برنامه نویسی وب - Laravel

بهترین پاسخ

سلام
در collation اصلی ترین مسئله ای که باید بهش توجه کنید utf8 بودن هست که حالا میخواد general یا unicode یا حتی persian باشه مهم نیست.
در جداول شما هم اولویت با نوع collation خود ستون هست. یعنی اگه جدول شما general باشه و ستون شما unicode باشه عملا unicode رو لحاظ خواهد کرد
با دو تا پارامتر زیر که توی فایل env لاراول اضافه میکنید یه تست بزنید ببینید نتیجه چی میشه

DB_CHARSET=utf8
DB_COLLATION=utf8mb4_general_ci
ali
ali
@programmer316947
رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

درود خوبی...
استاندارد utf8mb4_general_ci پایگاه داده تمام کاراکترهای یونیکد را پشتبانی می کند.
هنگامی که لاراول نصب می کنید خود mysql خودکار استاندارد utf8mb4_general_ci را تنظیم می کند و نیازی نیست دستی انجام بدید.

شاید پاسخ شما همین‌جا باشد

ali
ali
@programmer316947

سلام . پس لازم نیست برای فیلد هایی که قرار هست کاراکتر فارسی توش ذخیره بشه کولیشن utf8_general_ci قرار بدیم؟

رایموند
رایموند
@Raymond

تخصص: مختصص وردپرس - برنامه نویس لاراول

@programmer316947
خیر...
نیازی نیست.

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

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