آژانس هواپیماییexchanging

فیلدهایی با تعداد ماکزیمم 36 کاراکتر

شروع موضوع توسط Helen_Farhani ‏5 اکتبر 2007 در انجمن PHP

  1. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    یک برنامه را در نظر بگیرید که تعداد زیادی Text Field داره و همه maxlength آنها برابر 36 هست.
    قرار هست که محتوای همه این فیلدها یونیکد باشه و در دیتابیس ذخیره بشن.
    سوال من این هست به نظر شما، نوع فیلدی که برنامه نویس برای ذخیره این داده ها در دیتابیس در نظر گرفته چی هست ( با توجه به اون maxlength که در همه جا برابر 36 هست).
     
  2. sasan_66

    sasan_66 کاربر تازه وارد

    تاریخ عضویت:
    ‏18 جولای 2006
    نوشته ها:
    450
    تشکر شده:
    0
    CHAR(36) خوب نيست؟
     
  3. Shahed

    Shahed کاربر قدیمی پرشین تولز

    تاریخ عضویت:
    ‏30 ژوئن 2003
    نوشته ها:
    7,175
    تشکر شده:
    31
    محل سکونت:
    mt.cgi
  4. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    من در این مورد چیزی نمیدونم. یعنی من نمیدونم اون برنامه نویس چه گزینه ای را انتخاب کرده. در واقع میخوام بدونم برای شرایطی که عرض کردم، بهترین و کم هزینه ترین گزینه چی هست!
     
  5. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    چه تفاوتی با (CHAR(36 داره
     
  6. peymanafraz

    peymanafraz کاربر تازه وارد

    تاریخ عضویت:
    ‏28 دسامبر 2005
    نوشته ها:
    135
    تشکر شده:
    0
    محل سکونت:
    $strHome
    دوستان صبر کنین. توی SQL Server اگه باشه بدلیل اینکه یونیکده گزینه مناسب nVarchar 36 هست ولی توی MySQL گزینه باید varchar 36 باشه.
    در جواب دوستمون درباره تفاوت varchar و char هم باید بگم varchar سایزش داینامیکه یعنی اگه سایزش رو بدی 36 ولی توش یه رشته 30 تایی بریزی اون 6 کرارگتر اضافی حافظه اشغال نمیکنن ولی اگه char باشه حافظه اشغال میشه.
     
  7. appbannerkhuniresbanner
  8. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
  9. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    درست هست که هر کاراکتر یونیکد 2 بیت فضا اشغال میکند؟
     
  10. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    :blink:

    خب اشکال نداره :p من هم ۵ سال طول کشید تا یادگرفتم بایت و بیت رو به جای هم استفاده نکنم ;)

    این هم توضیحاتی در مورد UTF-8

    اگر چه من فکر می کردم که UTF-8 دو بایت (۱۶ بیت) فضا اشغال می کنه ولی این راهنمای ویکی یک چیزه دیگه ای داره می گه
     
  11. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    آلان داشتم درست نگاه می کردم متوجه اشتباه هم شدم !
    کد:
    UTF-8 encodes each character in one to four octets (8-bit bytes):
    
       1. One byte is needed to encode the 128 US-ASCII characters (Unicode range U+0000 to U+007F).
       2. Two bytes are needed for Latin letters with diacritics and for characters from Greek, Cyrillic, Armenian, Hebrew, Arabic, Syriac and Thaana alphabets (Unicode range U+0080 to U+07FF).
       3. Three bytes are needed for the rest of the Basic Multilingual Plane (which contains virtually all characters in common use).
       4. Four bytes are needed for characters in the other planes of Unicode, which are rarely used in practice.
    
    
     
  12. Helen_Farhani

    Helen_Farhani کاربر تازه وارد

    تاریخ عضویت:
    ‏30 مارس 2007
    نوشته ها:
    89
    تشکر شده:
    0
    آقا میلاد حالا بایت و بیت با هم چه فرقی میکنند :blush: مهم این هست که آدم نیتش پاک باشه. :rolleyes:

    برای UTF-8 میگه 4 بایت. درسته؟ ولی در جایی دیگه برای Greek, Cyrillic, Armenian, Hebrew, Arabic, Syriac میگه 2 بایت. :wacko:
     
  13. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    می تونه از ۱ بایت تا ۴ بایت رو اشغال کنه (اگر چه هنوز شک دارم که قضیه چی شد ! )
     
  14. avajang.com .leftavajang.com.right