التغطية المصورة ليوم سوالف: الجزء الأول، الجزء الأخير
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > تقنية محركات البحث والـSearch Engine Optimization
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد  
 
LinkBack أدوات الموضوع
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#1 (permalink)  
Post [مقال] : تشفير الروابط والنصوص بواسطة الترميز UTF-8


السلام عليكم ورحمة الله وبركاته


في كثير من الاحيان يفكر البعض لماذا لا نستعمل عنوان الموضوع ليكون المعتمد عليه في عملية جلب بيانات هذا الموضوع عن طريق 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


المقال الأصلي : http://ebncana.wordpress.com/2008/06...%8a%d8%b2-utf/


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






EbNCaNa غير متواجد حالياً   قديم 23-06-2008, 08:12 PM
رد مع اقتباس
محمد
تاريخ التسجيل: Sep 2004-
#2 (permalink)  

موضوع مهم جدا جدا واكثر من رائع وهام جدا للمطورين الذين يبحثون عن توافق برمجياتهم مع محركات البحث

اشكرك ابن قانا على الموضوع الرائع






strange man غير متواجد حالياً   قديم 23-06-2008, 11:09 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#3 (permalink)  

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


الى الامام حبيبي .






EbNCaNa غير متواجد حالياً   قديم 24-06-2008, 10:54 AM
رد مع اقتباس
مستشار قوقل لوول
تاريخ التسجيل: Jan 2005-
#4 (permalink)  

مقال جداً رائع تمنيت ان اكون مبرمج حتى اغوص فيه اكثر


ابدعت في طرحك وفعلاً .. لا لاحتكار العلم (:






secret غير متواجد حالياً   قديم 24-06-2008, 12:09 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#5 (permalink)  

حياك الله اخوي secret على ردك المشجع بحق ...

بالحقيقة كل شخص بقدر يكون مبرمج محترف ... بشرط ما تستنى المديح والاطراء من حد لانك بعمرك ما رح تسير مبرمج اذا عملت هيك ... اعمل كثير واتعب واشتغل واغلط ... وكل شوي قف خلف الشاشة وانظر باعجاب الى عملك ... وامدح نفسك حتى لو بتضحك على نفسك مرات بهمش p:

المهم تعمل وتتعب لتزيد علمك وبهيك بقدر اضمنلك تكون اكبر مبرمج






EbNCaNa غير متواجد حالياً   قديم 24-06-2008, 12:55 PM
رد مع اقتباس
مشرف قسم ويب 2.0 و البرمجية القياسية
تاريخ التسجيل: Mar 2003-
#6 (permalink)  

شكرا لك EbNCaNa

لاتنسى بان البعض لايعرف طريقة تشفير الترميز

وهو مايعرف بـ urlencode في ال php

و escape في الجافا سكريبت والاجاكس والفلاش

ومن افضل المواقع العربيه الذي يستخدم هذه الطريقه في نظري هو موقع لون لاخونا معاذ

ظپظˆطھظˆط´ظˆط¨, ط¯ط±ظˆط³ ظپظˆطھظˆط´ظˆط¨, ط®ط·ظˆط·, ط§ظٹظ‚ظˆظ†ط§طھ - ظ„ظˆظ†






__________________
#
محمد "محلل لنظم المعلومات" - برمجه وتحليل
flash, flex, s e o, javascript, actionscript, php
لمراسلتي إضغط هنا

[ 1 ][فلاش] مقدمه : ما هي لغة الاكشن سكريبت وماهو الفلاش
MohDesign غير متواجد حالياً   قديم 24-06-2008, 02:18 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Sep 2005-
#7 (permalink)  

ولكنها لا تظهر في الـ Adressbar بشكل صحيح .. يعني تظهر على شكل Hex






__________________
للمراسلة: الملتقى الطبي السوري
ميلاد
vCharset Converter
موبايل: 00963988134359 (لا أجيب على الـ SMS)
Milad غير متواجد حالياً   قديم 24-06-2008, 05:03 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#8 (permalink)  

شكرا اخوي MohDesign على مرورك الكريم ...

لكن انا ما فهمت انو كلامك مجرد ملاحظة ام خطأ في طرحي ؟ اذا كان خطأ يا ريت توضحلي اكثر ... اما اذا كان ملاحظة فاعتقد ان احد لا يحتاج لمعرفة مسبقة بدوال url_encode او escape مع ان لكل دالة منهم طريقة مختلفة في التشفير والي تكلمت عنها بالدرس هي escape .

اعتقد انو الشغلة بسيطة جدا ... يعني الي ما بعرف يمرر رابط معين على دالة بسيطة مثل الدالة escape ما بطلعلو يكون موقعو مشهور ... مزحة

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


شكرا على ردك مرة اخرى .






EbNCaNa غير متواجد حالياً   قديم 24-06-2008, 05:04 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#9 (permalink)  

اخوي Milad هذا هو عمل الدالة ... وليش انها لا تعمل بشكل صحيح ... صح انها مشفرة بالهيكس ... لكن هذا هو فحوى التشفير ... انها لا تظهر باللغة العربية لكن جميع المواقع والانظمة سوف تحلل الرابط المشفر وتقرأه كنص عربي ... وجوجل مثلا لما بأرشف رابط من هالنوع ... بستقبلو هيكس لكن لما يظهر الرابط في نتائج البحث بظهر عربي 100% وهون بيت القصيد .

شكرا على مرورك اخي الكريم .






EbNCaNa غير متواجد حالياً   قديم 24-06-2008, 05:08 PM
رد مع اقتباس
صاحب موقع المعهد العربي
تاريخ التسجيل: Sep 2006-
#10 (permalink)  

موضوع رائع اخى EbNCaNa

ترميز utf8 اتعبنى كثيرا لأن معظم السكربتات و القواعد العربية لا تدعمة ... و بالتالى فيقع على عاتقك تحويل القواعد الى utf-general-ci .. و ايضا التغيير فى بعض الدوال فى ال php لأرسال البيانات صحيحية الى القواعد ..

و بعد تحويل الروابط فى المعهد العربي بصراحة اعجبت اولا بالشكل و خصوصا ان الموفع كان يظهر فى مظم كلمات البحث فى الصفحة الأولى ... و لكن انصدمت بمشكلة اخري و خصوصا فى المنتدى و هى الزخرفات الموجودة فى اللغة العربية مثل التشكيل و ايضا الرسومات و حروف المد و التطويل ..الخ .. كل هذا يشوه منظر الرابط بلغة العربية و خصوصا ان لا توجد stop words للغة العربية لتفعليها ...

بصراحة اعتمدت على id فى تلك المواضيع ... ااما الروابط التى اتحكم فى مواضيعها فجعلتها بلغة العربية مثل الألعاب gv.ma3hd.net او حتى اسماء الأعضاء فى المنتدى

جزاك الله خيرا بنشر العلم






__________________
{يَا أَيُّهَا النَّاسُ اتَّقُوا رَبَّكُمْ إِنَّ زَلْزَلَةَ السَّاعَةِ شَيْءٌ عَظِيمٌ }سورة الحج1

المعهد العربي - بيت الأسرة العربية فى كل زمان و مكان .
دليل المعهد العربي
ma3hd غير متواجد حالياً   قديم 24-06-2008, 05:09 PM
رد مع اقتباس
صاحب موقع المعهد العربي
تاريخ التسجيل: Sep 2006-
#11 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة Milad مشاهدة المشاركة
ولكنها لا تظهر في الـ Adressbar بشكل صحيح .. يعني تظهر على شكل Hex
اخى ميلاد ...

اتذكر ردك على فى موضوع يخص الروابط بلغة العربية و ان متصفح اوبرا فقط هو الذي يظهر الروابط العربية بشكل صحيح لأنه يحول الهيكس لقيمة الأصلية ... و ايضا حاليا الفايرفوكس 3 دعم تلك الطريقة و الروابط العربية تظهر بدون مشاكل ...المشكلة فقط فى الأنترنت اكسبلور 6 او 7 ...لم اجرب 8 بيتا حتى الأن ان دعمت تلك الطريقة ام لا فيه






__________________
{يَا أَيُّهَا النَّاسُ اتَّقُوا رَبَّكُمْ إِنَّ زَلْزَلَةَ السَّاعَةِ شَيْءٌ عَظِيمٌ }سورة الحج1

المعهد العربي - بيت الأسرة العربية فى كل زمان و مكان .
دليل المعهد العربي
ma3hd غير متواجد حالياً   قديم 24-06-2008, 05:14 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#12 (permalink)  

اخوي egy-ksa معك حق بخصوص الزخارف وحروف المد باللغة العربية ... لكن اعتقد انو طريقة التشفير هذه ستحل المشكلة ... جرب اعمل decode للرابط التالي بواسطة اداة فك التشفير وشوف النتيجة شو رح تكون :

كود:
%D8%A7%D9%84%D9%85%D8%B9%D9%80%D9%80%D9%87%D9%8E%D8%AF%20%D8%A7%D9%84%D9%80%D9%80%D8%B9%D9%8E%D8%B1%D9%8E%D8%A8%D9%8A
شكرا كمان مرة على مرورك .






EbNCaNa غير متواجد حالياً   قديم 24-06-2008, 05:21 PM
رد مع اقتباس
مشرف قسم ويب 2.0 و البرمجية القياسية
تاريخ التسجيل: Mar 2003-
#13 (permalink)  

اقتباس:
المشاركة الأصلية كتبت بواسطة EbNCaNa مشاهدة المشاركة
شكرا اخوي MohDesign على مرورك الكريم ...

لكن انا ما فهمت انو كلامك مجرد ملاحظة ام خطأ في طرحي ؟ اذا كان خطأ يا ريت توضحلي اكثر ... اما اذا كان ملاحظة فاعتقد ان احد لا يحتاج لمعرفة مسبقة بدوال url_encode او escape مع ان لكل دالة منهم طريقة مختلفة في التشفير والي تكلمت عنها بالدرس هي escape .

اعتقد انو الشغلة بسيطة جدا ... يعني الي ما بعرف يمرر رابط معين على دالة بسيطة مثل الدالة escape ما بطلعلو يكون موقعو مشهور ... مزحة

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


شكرا على ردك مرة اخرى .
انتبه !

ال utf-8 يظهر في اي جهاز بنفس الشكل ونفس المحارف حتى لو كان الجهاز لايوجد به اللغه العربيه

انا شفت الكود اللي انت استعملته في الموقع وبصراحه لم اقتنع به حيث لايوجد داعي ان تكتب كل ذلك للتحويل مع ان escape تكفي في النهايه

ال encode لحرف معين في اللغه العربيه يختلف عن نفس الحرف في ال utf-8

تعال نعمل مثال بسيط على حرف الفاء مثلا


مع ان نفس الحرف لكن انظر الى الاختلاف وذلك يرجع ان الكمبيوتر قرأ الحرف الاول ascii اما الحرف الثاني فهو 8 bit

فهي متساويه في الشكل ولكن مختلفه من حيث ترميزها في الاصل

لذلك ال utf-8 راح يظهر في جهاز واحد صيني لكن ال ascii لا

اما urlencode راح تكون النتائج مختلفه قليلا جربها بنفسك

كود PHP:
<?php
$string 
="ف";
echo 
urlencode($string)."<br />";
echo 
urlencode(iconv('windows-1256','UTF-8',$string))."<br />";
?>
لاحظ ان النتيجه تكون مختلفه ايضا مع ان الحرفين هم نفسهم لكن الاوثق هو الثاني حيث سيقرأه اي شخص حتى وان لم توجد اللغه العربيه في جهازه

وبالنسبه لمشاكل العلامات والتشكيل والمد يمكننا تمرير النص على داله ومسح هذه التشكيلات او العلامات باستخدام regular expression






__________________
#
محمد "محلل لنظم المعلومات" - برمجه وتحليل
flash, flex, s e o, javascript, actionscript, php
لمراسلتي إضغط هنا

[ 1 ][فلاش] مقدمه : ما هي لغة الاكشن سكريبت وماهو الفلاش
MohDesign غير متواجد حالياً   قديم 24-06-2008, 10:52 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#14 (permalink)  

مشكور اخوي MohDesign ... ومنكم نستفيد .. بارك الله فيك على التصحيح .

بكل الاحوال بالنهاية ما اختلفنا انو طريقة تحويل الرابط بالشكل الي شرحته تساهم وبقوة برفع اسهم الموقع في محركات البحث وهذا هو الاهم .


الى الامام حبييبي .






EbNCaNa غير متواجد حالياً   قديم 24-06-2008, 11:21 PM
رد مع اقتباس
The Big M
تاريخ التسجيل: Sep 2001-
#15 (permalink)  

موضوع رائع و مفيد جداً، من زمان عن هكذا مواضيع ...
تم التثبيت يا بطل
بالمناسبة ... رايت موضوع الBOM و هو رائع، احزنني انه لم يلقى تفاعل
لولا انه اصبح قديم نسبياً لكنت ثبته ايضاً.
استمر بارك الله بك

تحياتي لك






__________________
لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ

كيف تستخدم Google Adwords Keyword Tool

مدون الادسنس !

الألفاظ هي الثياب التي ترتديها أفكارنا، لذا ..يجب ألا تظهر أفكارنا في ثياب رثة بالية
محمود المسعودي غير متواجد حالياً   قديم 25-06-2008, 09:11 AM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#16 (permalink)  

تسلم اخوي محمود ... وكما ذكرت للاخ secret في رد سابق اول الموضوع ... يجب ان لا ننتظر الثناء من احد كي نبدع اكثر !! لان صانع الابداع هو المبدع وليس الاطراء والمجاملات .

بارك الله فيك على ردك المشجع حبيبي .






EbNCaNa غير متواجد حالياً   قديم 25-06-2008, 09:27 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2007-
#17 (permalink)  

جميل جدا ابن قنا
اقتباس:
رابط جميل اليس كذلك ؟؟ ولكن ماذا لو اراد مدير الموقع اضافة العلامة سلاش / داخل الرابط العنوان نفسه ؟؟ ماذا لو قمنا بادخال / ولكن غير مشفر ؟؟
في هذة الحالة هذة الدالة البسيطة تفي بالغرض
كود PHP:
<?php
function escape($url)
{
    return 
str_replace("%2F""/"urlencode($url));
}
?>
دوال انصح بالقراءة عنها لـ php
PHP: urlencode - Manual
PHP: urldecode - Manual






__________________
http://developer.ws.ly
مدونتي البرمجية الخاصة
Bruce web developer
Libyan Blogger

التعديل الأخير تم بواسطة : Bruce بتاريخ 25-06-2008 الساعة 02:01 PM.
Bruce غير متواجد حالياً   قديم 25-06-2008, 01:58 PM
رد مع اقتباس
عضو نشيط جدا
تاريخ التسجيل: May 2007-
#18 (permalink)  

مشكور اخوي Bruce على الاضافة الجميلة ...

الى الامام .






EbNCaNa غير متواجد حالياً   قديم 27-06-2008, 12:24 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Apr 2008-
#19 (permalink)  

مشكور اخوي






menokia غير متواجد حالياً   قديم 01-07-2008, 04:36 AM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Sep 2007-
#20 (permalink)  

بارك اللغ فيك معلومات مهمه






__________________
هاك
هاك
دليل المواقع
اهل الامارات يمكنهم تجاوز الحجب عبر الرابط التالي :
هاك الامارات
عبود السعودية غير متواجد حالياً   قديم 02-07-2008, 06:03 AM
رد مع اقتباس
رد


 

أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
اطلالة سريعة على الوندوز 2003 سيرفر + تنصيب+شرح كامل NaT-Server الشبكات والخوادم في نظام ويندوز 21 07-02-2008 04:01 AM
[ شرح ] تحويل الروابط من php إلى htm بواسطة .htaccess في الفور ايمجز Abu Fahd تقنية محركات البحث والـSearch Engine Optimization 20 04-01-2008 01:55 PM
مطلوب طريقة تشفير باسووردات القاعده بواسطة md5 LATE PHP 2 04-06-2003 04:59 PM
مطلوب طريقة تشفير باسووردات القاعده بواسطة md5 LATE تطوير الويب 0 04-06-2003 02:43 PM


الساعة الآن: 03:32 PM بتوقيت المملكة العربية السعودية