تعریف و کاربرد متا Charset
متا Charset
<meta charset = "UTF-8">
به عنوان یک توسعهدهنده متشکل از خودآموز، این یک خط از کد است که شما ممکن است بدون مکالمه نوشتن بدون درک کامل داشته باشید. برای من، این چیزی است که من به طور ناخودآگاه نوشتم، حتی گاهی اوقات از دست رفته به طور کامل، تا زمانی که من انجام برخی از تحقیقات و کشف اهمیت آن.
به عبارت ساده، زمانی که شما "charset" را به عنوان "UTF-8" اعلام می کنید، شما به مرورگر خود می گوید که از کدگذاری کاراکتر UTF-8 استفاده می کند، این روش یک روش تبدیل شخصیت های تایپ شده به کد ماشین قابل خواندن است.
علامت مشخصه در مقابل رمزگذار کاراکتر
کامپیوتر شما تنها می تواند اطلاعاتی را که در قالب باینری دریافت می کند، دستکاری کند. این به این معنی است که هر کاراکتر در صفحه وب شما باید تبدیل شود. این در 2 مرحله انجام می شود - مجموعه کاراکتر و رمزگذاری کاراکتر.
هر حرف، علامت نقطه گذاری یا شخصیت یک شماره منحصر به فرد، به نام "واحد کد" (مجموعه کاراکتر)
واحد کد پس از آن تبدیل به باینری (رمزگذاری عبارات)
اسناد HTML فقط می تواند شامل کاراکترهایی باشد که توسط مجموعه کاراکترهای یونیکد تعریف شده است، بنابراین ما نیازی به تعریف کاراکتر در سند ما نداریم. با این حال، اشکال مختلفی از رمزگذاری وجود دارد که می تواند با یونیکد استفاده شود، بنابراین ما باید اعلام کنیم که ما می خواهیم از آن استفاده کنیم. در حال حاضر، UTF-8 رمزگذاری کاراکتر توصیه شده توسط W3C است.
به عنوان مثال، متن "Hello، World!" به شیوه زیر تبدیل به باینری می شود.
سلام دنیا!
مجموعه شخصیت (یونیکد)
U + 0048 U + 0065 U + 006C U + 006C U + 006F U + 002C U + 0020 U + 0057 U + 006F U + 0072 U + 006C U + 0064 U + 0021
رمزگذاری علامت (UTF-8)
01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001
منابع و اشخاص شخصیتی
در داخل HTML، ما گاهی اوقات نیاز به دسترسی به کاراکترهای یونیکد علاوه بر آنچه در صفحه کلید استاندارد وجود دارد. برای حل این مشکل، می توانیم از "ارجاع شخصیت عددی" و "نام شخصیت نام" استفاده کنیم تا آنها را ارجاع دهیم.
هر یک از این کاراکترهای یونیکد هر دو دارای یک entity نامیده می شود و همچنین یک مرجع عددی است و شما می توانید یکی از آن را هم تماس بگیرید. به عنوان مثال، یکی که شما ممکن است اغلب استفاده نماد کپی رایت است، که می تواند به عنوان نوشته شده است -
& copy؛ (نهاد نامگذاری شده)
& 169؛ (مرجع عددی)
چرا شما باید رمزگذاری شخصیت را اعلام کنید
شما ممکن است در شرایط خاصی متوجه شوید که اگر شما در اعلان رمزگذاری کاراکتر جستوجو نکنید هیچ اتفاقی رخ نخواهد داد. این به این دلیل است که رمزگذاری کاراکتر را می توان در جای دیگر مشخص کرد. در واقع سه روش اصلی وجود دارد که به ترتیب اولویت آنها (بالاترین و کمترین) فهرست شده اند.
علامت سفارش بایت (BOM)
محتوای HTTP نوع HTTP
برچسب متا
دو روش اول به راحتی قابل دسترسی نیست و ممکن است بدون دانش شما وجود داشته باشد. شما می توانید از W3C بین المللی بررسی کننده استفاده کنید تا این وب سایت را جستجو کنید.
با وجود اینکه متا تگ ممکن است توسط دو روش دیگر لغو شود، هنوز توصیه می شود که آن را به چند دلیل مشخص کنید.
وضوح - این به دیگران کمک می کند که کد شما را راحت تر تعیین کنند که کدام شخصیت کدام مورد استفاده شما را می گیرد.
رمزگذاری غلط - در برخی موارد، به ویژه برای وب سایت های استاتیک، کدگذاری کاراکتر ممکن است توسط این روش های دیگر مشخص نشود. در این مورد، رمزگذاری محتوا را نادرست انجام می دهید.
اعتبار سنجی - با توجه به W3C، اعلام کرد که رمزگذاری شخصیت شما از طریق برچسب متا charset ضروری است برای کد شما برای اعتبار سنجی
چگونه می توان رمزگذاری شخصیت را اعلام کرد
راه مناسب برای اعلام رمزگذاری کاراکتر شما این است که آن را بلافاصله پس از باز کردن سر در سند خود، قبل از هر چیز دیگری اعلام کنید.
<! doctype html>
<html>
<head>
<meta charset = "UTF-8">
<title/> وب سایت من < title>
< head/>
<body>
< body/>
< html>