سؤال

لقد كان هذا يربكني لبعض الوقت. مع ظهور UTF-8 كمعيار فعلي في تطوير الويب ، لست متأكدًا من المواقف التي من المفترض أن أستخدم كيانات HTML ولأي تلك التي يجب أن أستخدمها فقط حرف UTF-8. فمثلا،

  • em dash ( - ، &emdash;)
  • ampersand (& ، &)
  • 3/4 جزء (¾ ، ¾)

يرجى إلقاء الضوء على هذه المسألة. وسوف أكون ممتنا.

هل كانت مفيدة؟

المحلول

لا تحتاج عمومًا إلى استخدام كيانات حرف HTML إذا كان محررك يدعم Unicode. يمكن أن تكون الكيانات مفيدة عندما:

  • لوحة المفاتيح الخاصة بك لا تدعم الحرف الذي تحتاجه إلى الكتابة. على سبيل المثال ، لا تحتوي العديد من لوحات المفاتيح على EM-DASH أو رمز حقوق الطبع والنشر.
  • لا يدعم محررك Unicode (شائع جدًا منذ بضع سنوات ، ولكن ربما ليس اليوم).
  • تريد أن تجعلها صريحة في المصدر ما يحدث. على سبيل المثال ،   الكود أكثر وضوحًا من حرف المساحة البيضاء المقابلة.
  • تحتاج إلى الهروب من شخصيات خاصة HTML مثل <, &, ، أو ".

نصائح أخرى

بناءً على التعليقات التي تلقيتها ، نظرت إلى هذا أبعد من ذلك بقليل. يبدو أن ذلك حاليا أفضل الممارسات هي التخلي عن استخدام كيانات HTML واستخدام حرف UTF-8 الفعلي بدلاً من ذلك. الأسباب المدرجة على النحو التالي:

  1. من السهل قراءة وترميزات UTF-8 لأولئك الذين يفهمون ما تعنيه الشخصية ويعرفون كيفية كتابة ذلك.
  2. تشفيرات UTF-8 غير مفهومة تمامًا مثل تشفير كيان HTML لأولئك الذين لا يفهمونها ، لكن لديهم ميزة تقديم شخصيات خاصة بدلاً من فهم ترميزات العشرية أو السداسية.

طالما تم تعيين ترميز صفحتك بشكل صحيح على UTF-8 ، يجب عليك استخدام الحرف الفعلي بدلاً من كيان HTML. قرأت العديد من المستندات حول هذا الموضوع ، ولكن الأكثر فائدة هي:

من UTF-8: سر ترميز الشخصية مقالة - سلعة:

تعتبر Wikipedia دراسة حالة رائعة للتطبيق الذي استخدم في الأصل ISO-8859-1 ولكن تم تحويله إلى UTF-8 عندما أصبح مرهقًا جدًا لدعم اللغات الأجنبية. ستذهب الروبوتات الآن في الواقع من خلال المقالات وتحويل كيانات الشخصية إلى شخصياتها الحقيقية المقابلة من أجل سهولة الاستخدام وإمكانية البحث.

يعطي هذا المقال أيضًا مثالًا لطيفًا يتضمن الترميز الصيني. إليكم المثال المختصر من أجل الكسل:

UTF-8:

這兩個字是甚麼意思

كيانات HTML:

&#36889;&#20841;&#20491;&#23383;&#26159;&#29978;&#40636;&#24847;&#24605;

ترميزات كيان UTF-8 و HTML لا معنى لها بالنسبة لي ، ولكن على الأقل ، يمكن التعرف على ترميز UTF-8 كلغة أجنبية, ، وسوف يتم تقديمه بشكل صحيح في مربع التحرير. يمضي المقال ليقول ما يلي حول النسخة المشفرة بالكيان HTML:

غير مريح للغاية لأولئك منا الذين يعرفون بالفعل ما هي كيانات الشخصية ، غير مفهومة تمامًا للمستخدمين الفقراء الذين لا يفعلون ذلك! حتى الكيانات الأكثر سهولة في الاستخدام ، فإن كيانات "واضحة" مثل θ ستترك المستخدمين غير المهتمين بتعلم HTML يخدش رؤوسهم. من ناحية أخرى ، إذا رأوا θ في صندوق تحرير ، فسوف يعرفون أنها شخصية خاصة ، وعلاجها وفقًا لذلك ، حتى لو لم يعرفوا كيفية كتابة تلك الشخصية بأنفسهم.

كما لاحظ آخرون ، لا يزال يتعين عليك استخدام كيانات HTML لأحرف XML المحجوزة (Ampersand ، أقل من ، أكبر من).

لن أستخدم UTF-8 للشخصيات التي يمكن الخلط بينها بسهولة. على سبيل المثال ، من الصعب التمييز بين emdash عن ناقص ، أو وخاصة مساحة غير متوفرة من الفضاء. لهذه الشخصيات ، بالتأكيد استخدام الكيانات.

بالنسبة للشخصيات التي يمكن فهمها بسهولة بصريًا (مثل الأمثلة الصينية أعلاه) ، تابع واستخدم UTF-8 إذا أردت.

أنا شخصياً أفعل كل شيء في UTF-8 منذ فترة طويلة ، ومع ذلك ، في صفحة HTML ، تحتاج دائمًا إلى تحويل ampersands (&) ، أكبر من (>) وأقل من الأحرف (<) إلى كياناتها المكافئة ، & ،> و <

أيضًا ، إذا كنت تنوي القيام ببعض البرمجة باستخدام نص UTF-8 ، فهناك بعض الأشياء التي يجب مراقبتها.

  • تحتاج XML إلى بعض الخطوط الإضافية للتحقق منها عند استخدام الكيانات.
  • بعض المكتبات لا تلعب على طول مع UTF-8. على سبيل المثال ، أسقطت PHP في بعض توزيعات Linux الدعم الكامل لـ UTF-8 في مكتبات التعبير العادية الخاصة بهم.
  • من الصعب الحد من عدد الأحرف في نص يستخدم كيانات HTML ، لأن كيان واحد يستخدم العديد من الأحرف. كما أن هناك دائمًا خطر قطع الكيان إلى النصف.

قد تشتري لك الكيانات بعض التوافق مع عملاء الدماغ الذين لا يفهمون الترميزات بشكل صحيح. لا أعتقد أن هذا يتضمن أي متصفحات حالية ، لكنك لا تعرف أبدًا أنواع البرامج الأخرى التي قد تضربك.

والأكثر فائدة ، على الرغم من ذلك ، هو أن كيانات HTML تحميك من أخطائك الخاصة: إذا أخطأت في تكوين شيء ما على الخادم وينتهي بك الأمر إلى تقديم صفحة برأس HTTP يقول إنها ISO-8859-1 و META علامة تقول ذلك UTF-8, ، على الأقل ستعمل دائمًا.

تكون كيانات HTML مفيدة عندما تريد إنشاء محتوى سيتم تضمينه (ديناميكيًا) في صفحات ذات (عدة) تشفيرات مختلفة. على سبيل المثال ، لدينا محتوى ملصق أبيض يتم تضمينه في صفحات الويب الخاصة بـ ISO-8859-1 و UTF-8 ...

إذا لم يكن تحويل الأحرف من/إلى UTF-8 فوضى كبيرة غير موثوقة (فأنت تتعثر دائمًا على بعض الشخصيات وبعض الأدوات التي لا يتم تحويلها بشكل صحيح) ، فإن توحيد UTF-8 سيكون الطريق للذهاب.

إذا تم ترميز صفحاتك بشكل صحيح في UTF-8 ، فلن تحتاج إلى كيانات HTML ، فقط استخدم الأحرف التي تريدها مباشرة.

كل الإجابات السابقة منطقية بالنسبة لي.

بالإضافة إلى ذلك: يعتمد في الغالب على المحرر الذي تنوي استخدامه ولغة المستند. كحد أدنى من المتطلبات للمحرر هو أنه يدعم لغة المستند. هذا يعني أنه إذا كان نصك باللغة اليابانية ، فاحذر من استخدام محرر لا يعرضه (أي لا توجد كيانات للوثيقة نفسها). إذا كانت الإنجليزية ، يمكنك حتى استخدام محرر يشبه VIM القديم واستخدام الكيانات فقط للنسبي النادر © والأصدقاء. بالطبع:> لـ> وغيرها من أجهزة HTML التي لا تزال بحاجة إلى هروب. ولكن حتى مع اللغات اللاتينية الأخرى (الألمانية والفرنسية وما إلى ذلك) ، فإن الكتابة ä هي ألم في تعرف أين ...

بالإضافة إلى ذلك ، أكتب شخصياً كيانات عن الشخصيات غير المرئية وتلك التي تشبه المعيار المعياري ، وبالتالي يتم الخلط بينها بسهولة. على سبيل المثال ، هناك U1173 (يشبه اندفاعة في بعض charsets) أو U1175 ، والتي تشبه الشريط العمودي. سأستخدم الكيانات لأولئك في أي حال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top