PDA

View Full Version : سوال: تفاوت char با varchar در مصرف منابع و نمایش زبان فارسی در mysql



eminem.encore
یک شنبه 07 آبان 1391, 08:14 صبح
با عرض خسته نباشید - میخواستم بدونم char با varchar از نظر مصرف منابع سیستم چه فرقی با هم دارند - در چه مواردی باید از char یا از varchar استفاده کنیم . درضمن برای اینکه فارسی رو هم در فیلدهامون بتونیم نمایش بدیم باید چکار کنیم؟ با تشکر از مدیریت این بخش

peachcms
یک شنبه 07 آبان 1391, 11:21 صبح
با سلام

شما زمانی از char باید استفاده کنین که طول رشته کوتاه و همیشه ثابت باشه. اگر شما رشته ای کمتر از چیزی که توی دیتابیس تعریف کردید باشه همون فضای تعریف شده رو اشغال میکنه اما varchar برعکس char هست که برفرض شما فیلد نام رو varchar 200 تعریف کردید اگر رشته ای به طول کمتر از 200 وارد فیلد بشه فیلد فضای رشته رو اشغال میکنه و تعریف شده رو. درضمن فضای اشغالی فارسی دو برابر انگلیسی هست یعنی varchar 200 برای فارسی 100 حساب میشه اما برای انگلیسی 200. و برای اینکه فرسی رو داخل فیلد درست ذخیره کنین و نمایش بدید COLLATE utf8_persian_ci باید باشه و زمانی که توی کد به دیتابیس کانکت میشید کوئری زیر رو بعد انتخاب جدول اجرا کنید

mysql_query("SET NAMES UTF8");