أثناء عملية عمل المشروع ، غالبًا ما ننشئ مواصفات مختلفة لتسهيل تعاون أفضل بين الفرق والمشاريع الكاملة بشكل أفضل ؛ غالبًا ما نسمع بروتوكولات مختلفة ، مثل بروتوكول XMPP المفتوح الذي يستخدمه برنامج im gtalk من Google. طالما يتوافق برنامج IM الآخر أيضًا مع بروتوكول XMPP ، يمكن استخدامه وتوصيله باستخدام GTALK ؛ لا يوجد عدد من المعلومات على الإنترنت ، وهذه المعلومات نفسها موجودة بشكل مستقل. يتطلب كيفية توصيلها في سلسلة وتقديمها للمستخدمين استخدام بروتوكول HTTP.
وعلى نفس المنوال ، نظرًا لأن المتصفحات لها نواة مختلفة وأداءات مختلفة من الأنماط الافتراضية ، فإنها تحتاج إلى قاعدة يتبعها كل متصفح للتأكد من أن الأنماط التي تقدمها مستند الويب نفسه على متصفحات مختلفة متسقة. هذه القاعدة هي إعلان Doctype.
نظرًا لأن الإنترنت قابل للتشغيل البيني ، فقد تتضمن أي مستندات ويب أو أكثر تبادل البيانات. نظرًا لأن لغة XML تتيح للمستخدمين تخصيص العلامات ، فقد يكون لأي مستندتين تم تبادلهما نفس العلامات ، مما يؤدي إلى تعارضات في نفس العلامات. لذلك ، هناك حاجة إلى مساحة الاسم لتمييز نفس العلامات التي قد توجد في وثيقة التبادل.
كلغة لنقل HTML إلى XML ، لا يمكن لـ XHTML تطبيق العلامات المعرفة من قبل المستخدم بلغة XML ، وبالتالي فإن مساحات الأسماء في مستندات XHMTL هي نفسها:
<html xmlns = http: //www.w3.org/1999/xhtml>
XMLNS هو اختصار مساحة اسم XHTML ، وهي مساحة الاسم المزعومة. مثل إعلان Doctype ، XMLNS هو أيضا إعلان. على عكس إعلان Doctype لا يزال موجودًا في وثيقة HTML ، فإن XMLNS غير موجود في وثيقة HTML ، و XMLNs التي نراها عادة ما تظهر في وثيقة XHTML.
عند إنشاء صفحة ويب ، بالإضافة إلى إعلان Doctype (نوع المستند) في البداية ، إذا كانت مستند XHTML ، فإنه يحتاج أيضًا إلى إعلان مساحة الاسم ، والشيء الثالث الذي يجب إعلانه هو نوع تشفير الأحرف لمستند صفحة الويب:
<meta http-equiv = content-type content = text/html ؛ charset = utf-8 ' />
من أجل تفسيرها بشكل صحيح من قبل المتصفح والتحقق منها بواسطة W3C ، يجب أن يعلن كل مستند XHTML عن ترميز الأحرف المستخدمة. في كثير من الأحيان ، فإن معظم الرموز المشوهة في مستندات الويب ناتجة عن ترميز أحرف غير صحيح.
UTF-8 هو تعبير ترميز متغير الطول من Unicode. باعتباره ترميزًا عالميًا عالميًا ، يتم استخدامه في المزيد والمزيد من مستندات الويب. يمكن أن تزيد صفحات الويب التي تستخدم ترميز أحرف UTF-8 من تجنب التعليمات البرمجية المشوهة الناتجة عن ترميزات أحرف مختلفة عندما يصل المستخدمون في مناطق مختلفة إلى نفس صفحة الويب.
ولكن عندما نفتح معظم مواقع الويب المحلية ، وخاصة مواقع البوابات الكبيرة ، فإن البيان حول ترميز الأحرف ليس UTF-8 ، ولكن GB2312:
<meta http-equiv = content-type content = text/html ؛ charset = gb2312 ' />
بالطبع ، بالإضافة إلى GB2312 ، هناك بعض مواقع الويب التي تستخدم GBK أو GB18030 ترميز. هذه الترميزات الأحرف الثلاثة تنتمي إلى مجموعة الأحرف الصينية المبسطة. وهذا يعني ، إذا لم يتم تثبيت جهاز كمبيوتر مبسط ، عندما يصل إلى صفحة ويب صينية مع حرف مشفر كـ GB2312 ، يتم عرض الرمز المشتعلة.
نظرًا لأن الكود المشوه قد يحدث بسبب وصول المستخدم في مناطق مختلفة عند استخدام ترميز أحرف GB2312 ، فلماذا لا تستخدم UTF-8؟
قد يكون أحد الأسباب الأسباب التاريخية ، في حين أن السبب الآخر الأكثر أهمية هو أحجام المستندات المختلفة بسبب طرق التخزين المختلفة للترميزتين.
عند استخدام مجموعة تشفير أحرف GB2312 ، يحتل الحرف الصيني 2 بايت ، في حين أن عدد البايتات التي تشغلها حرف صيني في ترميز UTF-8 غالبًا ما يكون 3 بايت ، أو حتى أكثر من 3 بايت. لذلك ، بالنسبة للوثيقة الصينية نفسها ، يكون حجم التخزين باستخدام ترميز أحرف GB2312 أصغر من حجم المستند المخزن في ترميز UTF-8.
بالنسبة للمواقع الصينية التي تحتوي على الكثير من النصوص والكثير من الزيارات ، يمكن أن يؤدي استخدام مستندات صفحة الويب المشفرة GB2312 إلى توفير الكثير من حركة المرور في التنزيل والإرسال. علاوة على ذلك ، نظرًا لأن مجموعة المستخدمين من مواقع الويب الصينية مقفلة بشكل أساسي على المستخدمين الصينيين ، وهذا هو السبب في أن العديد من مواقع الويب تستخدم GB2312 المصممة بدلاً من UTF-8.
ومع ذلك ، لا يوجد العديد من مواقع الويب التي تحتوي على الكثير من النصوص والزيارات في الصين. بالإضافة إلى ذلك ، قد يتم إقران مشكلة الرمز المشتعلة ، لذلك يوصى باستخدام ترميز UTF-8 عند إنشاء صفحات الويب.
بالطبع ، بغض النظر عن نوع الترميز المستخدم ، فإن الشيء الأكثر أهمية هو أن الترميز الذي يستخدمه الموقع بأكمله يجب أن يكون موحدًا.
لإعلانات ترميز الأحرف بالإضافة إلى الطريقة أعلاه ، قد ترى أيضًا طريقة إعلان أخرى:
<meta http-equiv = محتوى لغة المحتوى = gb2312 ' />
<meta http-equiv = محتوى لغة المحتوى = ZH-CN />
تهدف طريقة الإعلان هذه إلى الإصدارات القديمة من المتصفحات. لا ينصح اليوم طريقة الإعلان اليوم عندما يتم تحديث المتصفحات عمومًا.