کاراکترست های دیتابیس برای داده های فارسی شامل موارد زیر است :
1- AR8MSWIN256
2-AL16UTF8
3- AL32UTF8
4-UTF8
AR8MSWIN256
در قدیم به جای AR8MSWIN256 از کاراکترست WE8ISO8859P1 استفاده می کردن بدون اینکه دلیلش را بدانند. در حقیقت این استاندارد قبل از آمدن AR8MSWIN256 رواج داشت ولی اکنون دیگر کاربردی ندارد. نام این کاراکترست از ترکیب موارد زیر به وجود آمده است:
AR: عربی
8: به معنای 8 بیت یا یک بایت است (جالب است که بایت همراه 8 بیت نبود، در یونیکس های قدیمی بایت 7 بیت بود)
MS: مخفف ماکروسافت است
WIN: مخفف ویندوز است
مخفف 1256 است که استاندارد ANSI Arabic می باشد. به شکل زیر توجه کنید:
1.png
AL16UTF8
AL: مخفف Alternative
16:به معنای 16 بیت یا دو بایت است بنابراین هر کاراکتر ما 2 بایت جا می گیرد یعنی کلمه mahdi به انگلیسی 5 بایت جا می گیرد ولی برای مهدی 8 بایت اشغال می گردد.
AL32UTF8
AL: مخفف Alternative
32:به معنای 32 بیت یا چهار بایت است بنابراین هر کاراکتر ما 4 بایت جا می گیرد یعنی کلمه mahdi به انگلیسی 5 بایت جا می گیرد ولی برای مهدی 16 بایت اشغال می گردد.
UTF8
UTF8 برای همه نوع کاراکتر 3 بایت اشغال می کند.
پس وقتی نوع داده کاراکتر را برای جدول استفاده می کنید با توجه به نوع کاراکترست انتخابی داده هایمان حجم اشغال می کنند. فرضا اگر متغیری را به صورت Varchar 20 معرفی کنید با توجه به نوع کاراکتر ست انتخابی عدد 20 در تعداد بایت های مربوطه ضرب می گردد.
برای آشنایی بیشتر با کاراکترست ها به آدرس زیر مراجعه نمایید : http://unicode.org/
مستند مایکروسافت به آدرس زیر نیز می تواند در این زمینه کمک کننده باشد : https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx
منبع : وبلاگ شخصی مهدی غفاری به آدرس http://mghaffari.blog.ir/