كل الأدوات تعمل داخل متصفحك — ملفاتك لا تغادر جهازك أبدًا.
All tools154

المطورون

ترميز رموز HTML

ترميز رموز HTML مع اعتبارات العربية.

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

كيفية الاستخدام ترميز رموز HTML

  1. ألصق النص أو الرموز المراد تحويلها.
  2. اختر اتجاه التحويل.
  3. انسخ الناتج.

لا ترمّز الحروف العربية

هذه أهم نقطة للصفحات العربية، وهي تخالف عادة منتشرة.

كان ترميز الحروف غير الإنجليزية ضروريًا حين كان ترميز الصفحة غير واضح أو محدودًا بترميز أحادي البايت.

أما اليوم فترميز UTF-8 هو القاعدة في كل مكان تقريبًا، وهو يستوعب العربية كاملة بحروفها وتشكيلها. فاكتب النص العربي مباشرة.

الشرطان الوحيدان: أن يكون الملف محفوظًا فعلًا بترميز UTF-8، وأن يُعلَن الترميز في رأس الصفحة. فإن غاب الإعلان خمّن المتصفح، وخمّن غالبًا خطأ.

وهنا يظهر ما يعرفه كل من عمل بالعربية على الويب: النص المشوّه الذي يظهر كرموز لاتينية غريبة. سببه في الغالب واحد من ثلاثة: الملف محفوظ بترميز آخر مثل Windows-1256، أو الإعلان يخالف الترميز الفعلي، أو قاعدة البيانات والاتصال بها ليسا على UTF-8.

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

وترميز الحروف العربية إلى رموز عددية يجعل الشيفرة غير قابلة للقراءة، ويكسر البحث والاستبدال، ويكبّر حجم الملف بلا فائدة.

ما يجب ترميزه فعلًا

عدد قليل من الرموز له معنى نحوي في HTML.

ما يجب ترميزه فعلًا
الرمزالترميزمتى يلزم
&&دائمًا
<<دائمًا
>>يُستحسن في النص
""داخل قيم الخصائص
''داخل قيم الخصائص

علامة & هي الأهم لأنها تبدأ رمزًا. فالرابط الذي يفصل بين معاملاته بعلامة & يجب أن تُكتب فيه & ليكون HTML سليمًا.

وهنا يقع الجانب الأمني: عند عرض نص أدخله المستخدم، ترميز هذه الرموز هو الحماية من هجمات حقن السكربتات. فالنص الذي يُكتب في الصفحة كما هو قد يحتوي شيفرة تُنفَّذ.

ولا تعتمد في ذلك على أداة كهذه، بل على دالة التهريب في إطار العمل أو محرك القوالب لديك، لأنها تعرف السياق — نص HTML أم خاصية أم جافاسكربت أم رابط — ولكل سياق تهريب مختلف.

اتجاه النص وعلامات التحكم

هذا الجزء يخص العربية وحدها ويسبب أكثر المشكلات إزعاجًا.

حدّد اتجاه المستند في عنصر html بالخاصية dir بالقيمة rtl، وحدّد اللغة بالخاصية lang. هذا يضبط المحاذاة وترتيب العناصر ومواضع علامات الترقيم.

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

الحل الأنظف هو تغليف المقطع المخالف بعنصر يحمل dir="ltr" بدل استخدام علامات تحكم غير مرئية.

أما علامات التحكم مثل علامة الاتجاه من اليمين إلى اليسار فهي غير مرئية وتُنقل مع النسخ من دون أن ترى. وهي سبب شائع لرفض حقول النماذج قيمًا تبدو صحيحة تمامًا، ولاختلاف قيمتين متطابقتين ظاهريًا في قاعدة البيانات.

وهناك مسألة الأرقام: العربية تُكتب بالأرقام الهندية (٠١٢٣) وبالأرقام العربية (0123) بحسب البلد. في المغرب العربي تشيع الثانية وفي المشرق تشيع الأولى. اختر واحدة والتزم بها، ولا تخلط بينهما في الصفحة نفسها.

ومهم تقنيًا: الأرقام الهندية أحرف يونيكود مختلفة، فلا تُقارن ولا تُحوَّل إلى أعداد تلقائيًا. طبّع المدخلات قبل التخزين.

الأسئلة الشائعة

هل أرمّز الحروف العربية؟

لا. مع UTF-8 اكتبها مباشرة، بشرط حفظ الملف بهذا الترميز وإعلانه في الصفحة.

لماذا يظهر نصي مشوّهًا؟

غالبًا لاختلاف الترميز المعلن عن الفعلي، أو لأن قاعدة البيانات ليست على UTF-8.

أي الرموز يجب ترميزها؟

خصوصًا & و<، وعلامات الاقتباس داخل قيم الخصائص.

كيف أضبط اتجاه الصفحة؟

بالخاصية dir بالقيمة rtl على عنصر html، مع تحديد lang.

لماذا يُرفض ما أدخلته وهو صحيح؟

قد تكون علامات اتجاه غير مرئية انتقلت مع النسخ. طبّع المدخلات قبل الفحص.

هل تُرسل بياناتي؟

لا، كل شيء يجري في متصفحك.