تشفير الروابط والنصوص بواسطة الترميز UTF-8

مدرج تحت قسم: مقالات
23 يونيو 2008

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

ما هي الرموز المحبذ تحويلها الى الترميز utf-8 لكي تستعمل في الرابط ؟

انه ولكي تتم عملية تحويل الرابط بنجاح … ولكي يتجلى المقصد من وراء تحويل الرابط الى الترميز utf-8 فان الرموز الاصلية للرابط يجب ان تكون اية رموز مع عدا رموز مجموعة المحارف ASCII , فمثلا يمكن ان نحول رموز او حروف اللغة العربية او الروسية او العبرية والسبب لان رموز او حروف اي من هذه اللغات لا تدخل في تركيب مجموعة المحارف ASCII وقس على ذلك الكثير الكثير من لغات العالم .
احيانا نحتاج ايضا الى تحويل بعض رموز مجموعة المحارف ASCII الى الترميز utf-8 وسنذكر ذلك لاحقا مع مثال مفصل .

مم سيتحول الرابط بعد التحويل الى utf-8 ؟

حسب بروتوكول RFC 3986 فان الرموز التي يجب ان يتكون منها الرابط المشفر بالترميز utf-8 يجب ان تكون مشتقه بشكل مباشر او غير مباشر من مجموعة المحارف ASCII , وما دون ذلك من رموز فلن يقبل بالمرة في عملية تكوين الرابط المشفر .

ما هي مجموعة المحارف ASCII ؟

American Standard Code for Information Interchange وهي مختصرة في الحروف ASCII ، تلفظ عادة آسكي ، هي مجموعة رموز ونظام ترميز مبني على الألف باء اللاتينية بالشكل الذي تستخدم به في الإنجليزية الحديثة ولغات غرب أوروبية اخرى.
من أكثر الإستخدامات شيوعا للنصوص المكتوبة باللآسكي تشتمل على إستخدامها في أنظمة الحاسوب، كما تستخدم في أجهزة الإتصالات وأنظمة التحكم التي تتعامل مع نصوص .

مجموعة الرموز المباشرة المشتقه من ASCII :

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 - _ . ~

مجموعة الرموز الغير مباشرة المشتقه من ASCII :

! * ' ( ) ; : @ & = + $ , / ? % # [ ]

ما الفائدة من تحويل الروابط الى الترميز utf-8 ؟

  1. وهو الاهم ويتمثل في اعطاء المستخدم او صاحب الموقع الثقة العمياء من قبل محركات البحث في حال كان الرابط باللغة العربية وقمت بتحويله الى الترميز utf-8 .
  2. الدعم الكامل لجميع التطبيقات او البرمجيات التي لا تدعم الا الترميز utf-8 وعندها سوف يصبح الرابط او النص الذي قمت بتحويله الى نص عالمي مقروء ومفهوم ومعرف في هذه التطبيقات , الأمر يشبه ترجمة لغة معينة غير مشهورة الى لغة عالمية معتدمة من قبل الكثير من الدول الكبرى .
  3. في بعض الاحيان نحتاج لتحويل بعض رموز مجموعة المحارف ASCII نفسها الى الترميز utf-8 لكي يتوافق مع متطلبات الرابط … مثال :

نفرض الرابط التالي :

http://en.wikipedia.org/wiki/Percent-encoding

رابط جميل اليس كذلك ؟؟ ولكن ماذا لو اراد مدير الموقع اضافة العلامة سلاش / داخل الرابط العنوان نفسه ؟؟ ماذا لو قمنا بادخال / ولكن غير مشفر ؟؟ سيصبح الرابط كالتالي :

http://en.wikipedia.org/wiki/URL-/Percent-encoding

هل تعتقد باننا لو دخلنا لهذه الرابط سيقوم الموقع باعطانا النتيجة بشكل صحيح ؟؟ انا لا اعتقد هذا الامر لان / تعني حسب بروتوكول HTTP الانتقال الى مجلد آخر داخل الموقع ولذلك فان الموقع سيعطينا بالضرورة خطأ 404 .. اذن ما الحل ؟هنا يأتي دور تحويل الرمز / الى الترميز utf-8 وهذا ما اعنيه بمتطلبات الرابط … سيكون الرابط بعد تحويل الرمز / كالتالي :

http://en.wikipedia.org/wiki/URL-%2FPercent-encoding

وهنا لاحظ القيمة 2F% وهي الصيغة المشفرة من الرمز / حسب ترميز utf-8 الرائع !!

اعتقد انكم مللتم من الكلام النظري … وتريدون مشاهدة وتجربة المثال بأنفسكم … حسنا لكم ذلك من خلال اداة تشفير الروابط وتحويلها الى الترميز utf-8 – اضغط هنا لدخول المثال.

السلام عليكم اخواني .

للكاتب EbNCaNa

  • Share/Bookmark

التعليقات (28) على ”تشفير الروابط والنصوص بواسطة الترميز UTF-8“

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

  2. والما بدلت ترميز الملفات إلى utf-8 صارت الروابط بهالشكل
    ّ³ّùّھ_ùƒùڑّھّ³_ùùùڑùùڑّ³_jobs.html

  3. وهذا الدالة اللي اعتقد انه بيعتمد عليها في جلب الاسم من قاعدة البيانات
    str_replace

    [$h],$loc_link);
    }
    elseif ($seo_my_result[$h]) {
    $loc_link = str_replace($v[0],$seo_my_result[$h],$loc_link);
    }
    else {
    $loc_link = str_replace($v[0],”",$loc_link);
    }
    }
    $loc_link = create_link_string($loc_link);
    $loc_file[$result_jobs['locationid']]=$loc_link;
    if ($no_language!=true) {
    $loc_link=$lng.”/”.$loc_link;
    }
    $result_jobs['locationlink']

  4. اخوي الشهاب ضيفني هون samee7_moslim(AT)hotmail.com

  5. شكرا لك اخي الكريم على الافادة بارك الله فيك

  6. ندى

    hj

  7. ندى

    السلام عليكم
    اريد مساعده لو سمحتم
    تأتيني رساله برموز عير مفهومه واريد ان احولها الى العربيه فاعمل الاتيencoding ثم اضغط علي arabic window
    ولم تتحول الرساله الى العربيه ثم حاولت ان اعمل utf-8
    ولم تتحول الى العربيه فهل تساعدونا وجزاكم الله خيرا

  8. اختي ندى يجب ان تقومي بحفظ هذه الصفحة بترميز utf-8 ثم تقومين بوضع هيدر الصفحة ايضا بنفس الترميز , بمعنى يجب ان يكون كذلك :

    من ثم يجب التاكد من ان جميع الحقول في كل اقسام قاعدة البيانات مرتكزة على الترميز utf8_unicode_ci وهكذا فان جميع مخرجات الصفحة ستكون بهذا الترميز وسيظهر دائما بدون مشاكل .

    الى الامام اخوي

أضف تعليقك




يمكنك استخدام الوسوم التالية في التعليق: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>


* حقول مطلوبة