- AR8MSWIN256
- AL16UTF8
- AL32UTF8
- UFT8
AR8MSWIN256
نکته: قدیمها به جای AR8MSWIN256 از WE8ISO8859P1 استفاده میکردن بدون اینکه دلیلش رو بدونن، در حقیقت این استاندارد قبل از اومدن AR8MSWIN256 رواج داشت ولی دیگه قابل قبول نیست
AR =همون Arabic
تو ویندوز XP اگه به قسمت Regional and Language Option برید تو قسمت Code page conversion table استاندارهای ذخیره کاراکترها رو میبینید (تو ویندوز اگه اسکرول کنید بیاین پایین استاندارد 1256 (ANSI - Arabic) رو میبینید)
تو این استاندارد ذخیرهسازی به غیر از حروف عربی ۴ حرف اضافه فارسی هم اضافه شده (گچ پژ)
8 = یعنی ۸ بیت (۱ بایت)
نکته: ۱ بایت همیشه ۸ بیت نبود تو یونیکسهای قدیمی ۱ بایت ۷ بیت بود
MS = مخفف Microsoft
WIN = مخفف Windows
256 = به همون 1256 اشاره داره
نکته: پس اگه دیتابیستون رو روی charcter set: AR8MSWIN256 بذارید هر کاراکتر ۱ بایته پس اگه بگیم (20)varchar2 ما میتونیم ۲۰ تا کاراکتر تایپ کنیم
AL16UTF8
AL = همون Alternative
16 = یعنی ۱۶ بیت یا همون ۲ بایت
پس هر کاراکتر AL ما ۲ بایت میگیره
پس اگه ما یکبار 'mahdi' رو به صورتی انگلیسی تایپ کنیم ۵ بایت اشغال میشه
و برای 'مهدی' ۸ بایت اشغال میشه
AL32UTF8
AL = همون Alternative
32 = یعنی ۳۲ بیت یا همون ۴ بایت
پس هر کاراکتر AL ما ۳۲ بایت میگیره
پس اگه ما یکبار 'mahdi' رو به صورتی انگلیسی تایپ کنیم ۵ بایت اشغال میشه
و برای 'مهدی' ۱۶ بایت اشغال میشه
UFT8
utf8 برای همه نوع کاراکتر ۳ بایت اشغال میکنه
پس وقتی از char موقع ایجاد جدولتون استفاده میکنید دقیقاً بسته به character set دیتابیستون شما کاراکترها رو مشخص میکنید
مثلاً اگه بگید:
varchar2(20) char => دقیقاً 20 کاراکتر میشه در این فیلد ذخیره کرد حالا بسته به character set دیتابیس ممکنه هر حرف رو ۲ بایت، ۳ بایت، ۴ بایت در نظر بگیره
برای آشنایی بیشتر با character setها به سایت http://unicode.org سر بزنید.
همچنین خوبه به این مستند مایکروسافتی هم سر بزنید.