مشكور والله يعطيك العافية
تحياتي
مشكور والله يعطيك العافية
تحياتي
__________________
إستخدم ملفك الخاص لكتابة توقيعك
السلام عليكم
الأخ العزيز العندليب
لدي سكربت نظام ادارة محتويات وأرغب بتحويل ترميز قاعدة البيانات الى utf ولقد نجحت تقريبا ماعدا أنني فقدت عرض بعض الأحرف.
السؤال الأول : هناك الكثير من الحقول بقاعدة البيانات على سبيل المثال لدي حقل
من نوع varchar طولة 60 في ترميز الويندوز تظهر الجملة بكامل أحرفها وعند التحويل الى utf
تظهر الجملة ناقصة . ماهو الطول المناسب للحقل في ترميز utf لتظهر الجملة كاملة ؟
السؤال الثاني : هل ترميز utf لايظهر شكل الآيات القرآنية كما هي في ترميز ويندوز وهل هناك مشاكل بالأحرف أم لا ؟
وجزاك الله عنا خيرا
السلام عليكم ورحمة الله وبركاته
شكراً لك أستاذنا الفاضل .. موضوع مُتميز للغاية ..
لدي مشكلة لها علاقة بالموضوع [ كما أظن ] كنت سأفرد لها موضوعاً خاصاً لكن لعل هنا أنسب
أما المشكلة فسأختصرها ثم أوضحها ..
هل ممكن ترميز قاعدة البيانات يؤدي إلى تلك الرسالة بأي حال من الأحوال ؟
المشكلة تحديداً أن لدي مدونة وانتقلت إلى إستضافة أخرى ، وعند إستعادة قاعدة البيانات تظهر هذه الرسالة .. طبعاً المدونة عربية ، والإستضافة عربية ؟ .. حاولت بأكثر من طريقة لكن لا فائدة ، وحدثت مع صديق أيضاً نفس المشكلة .. والأرجح [ كما يتضح لي ] أن السبب في الترميز ، فهل هذا ممكن ؟ وما الحل برأيكمInternal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, webmaster@******.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
دُمتم مبدعين
أطيب المُنى
إلى اللقاء
السلام عليكم
المعذره على التأخير يا أخواني توي أشوف ردودكم
زميلي المحترم all-patch
طيب أريد أن أسألك سؤالاًبهذا تكون اصبحت صلب موضوع التحويل ...
ساعود لاناقش سكريبت التحويل الذي طرحت ، لا حظ معي انه يحول فقط نظام الترميز و لا يمس إطلاقا المدخلات في القاعدة ....
ففرضا لو غيرنا ترميز القاعدة التي تحتوي على كلمة العندليب و عرضناها بالترميز الجديد فنفس النتيجة سنحصل عليها ، لانها لا زالت مخزنة بالترميز القديم ..... لان كلمة العندليب مازالت مخزنة ب 2 بايت للحرف .... أعتقد فهمت قصدي
هل حرف ل ( المتصل ) هو نفسه حرف ( ل ) المنفصل ؟
بمعنى أوضح ودقيق
هل ترميز الحرف ل ( المتصل ) هو نفسه ترميز حرف ( ل ) المنفصل ؟
وهل ترميز الحرف a هو نفسه ترميز الحرف A ؟
سكربت التحويل يقوم بتحويل الحرف في الحقل الى الصيغه الثنائيه وبعدها يقوم بتحويل هذه الصيغه الثنائيه الى مايعادلها في الترميز الذي تريد التحويل له.
مثلاً:
ترميز لاتيني -----> صيغه ثنائيه -----> ترميز عربي
أما لو قمت بالتحويل مباشره كما ذكرت في ردك فسوف تفشل عملية التحويل
ترميز لاتيني -----> ترميز عربي ( خاطيء )
أوضح هذا الكلام بمثال.
حرف Ö في الطرف الأول هو حرف موجود بالترميز اللاتيني رمزه يساوي 214 في جدول الترميز اللاتيني.
حرف ع في الطرف الثاني هو حرف موجود بالترميز العربي رمزه يساوي 214 في جدول الترميز العربي.
لو قمنا بتحويل حرف Ö الى الصيغه الثنائيه فسوف نحصل على الرمز 214 وبعدها سنبحث في جدول الترميز العربي عن الرمز 214 ونجد أن هذا الرمز يعادل حرف ع العربي.
أما لو قمنا بتحويل حرف Ö مباشرة الى الترميز المطلوب فسوف يقوم الـ MYSQL بالبحث عن حرف Ö في جدول الترميز العربي فإذا وجد له شبيهاً وضعه وإذا لم يجد له شبيهاً إختار رمز (؟) بدلاً منه.
مثال آخر
حرف a في الطرف الأول هو حرف انجليزي موجود بالترميز اللاتيني رمزه يساوي 97 في جدول الترميز اللاتيني
حرف a في الطريق الثاني هو حرف انجليزي موجود بالترميز العربي رمزه يساوي 97 في جدول الترميز العربي.
سأطبق الان الطريقتين
في الطريقه الأولى سيتم تحويل الطرف الأول a الى الصيغه الثنائيه ونحصل على الرمز 97 وبعدها سنبحث عن هذا الرمز 97 في الترميز العربي وسنجد أنه للحرف a .
في الطريقه الثانيه (المباشره) سيتم البحث عن حرف a في جدول الترميز العربي وسنجد أن له شبيه وهو a وسيضعه.
ومن هذه الأمثله نعرف أن اللغه الانجليزي موجوده في كل ترميز سواءاً لاتيني او عربي وترميزها ثابت لم يختلف منذ أن تم عمل جدول ASCII .
أتمنى أن تكون الفكره وصلت.
ذكرت في أول كلامي أن هناك أكثر من طريقه للتحويل ولكني ذكرت الطريقه القياسيه للتحويل وهي كما أشرت لك في الأمثله السابقه:لذا في سكريبت التحويل عليه ان يقوم بإخراج المدخلات المخزنة بالقاعدة و إعادة إدخالها بالترميز الجديد .... لكي تصبح كلمة العندليب مخزنة ببايت واحد للحرف .....
الترميز1--------->الصيغه الثنائيه--------->الترميز2
وأنا بإنتظارك بعون اللهتحياتي لك و لي عودة بعض ان اقوم ببعض التجارب الاخرى .... و ان شاء الله يكون نتيجة هذا الموضوع هو الحل النهائي للتحويل من و إلى اي ترميز
الزميل Arabse_NeT
الحمدلله أنك حليت المشكله ولكني لم أفهمها صراحه.
الزميل أبو فيصل
السؤال المهم الذي سأطرحه عليك
لماذا اخترت UTF ؟
لماذا لا تختار UCS ؟
كلها أنظمة يونيكوود ولكن هناك فرق شاسع كبير أريدك أن تبحث عنه حتى تصل الى ضالتك.
الزميل 4freee.net
أهلا وسهلا ونورت
بالنسبه لسؤالك
هل ممكن ترميز قاعدة البيانات يؤدي إلى تلك الرسالة بأي حال من الأحوال ؟
الترميز ليس له أي علاقه
السبب الأول للرساله التي ظهرت لك هي بسبب أحد البرمجيات التي تم تركيبها على خادم الـ APACHE وهو Mod_security وأغلب المستضيفين يقوموا بتركيبه ( دون وعي ) وعلى تفكيرهم أنه يحمي المواقع من العمليات التي يقوم بها الهكر داخل خدمة الـ APACHE مثل إرسال التنصيص " او عمليات الـ SQL Injection وعلى مايبدو أن الحروف جعلت الخادم يطلق إنذاراً على محتوى موقعك.
ماشاءالله تبارك الله ...
الله يزيدك من علمه يالعندليب ويوفقك ويجزاك خير على ماتقوم به تجاه اخوانك من طروحات ودروس مهمة للكل
عزيزي اتمنى منك مراسلتي للضرورة على الايميل التالي
m7tar_121 # hotmail com
وتقبل فائق احترامي وتقديري
السلام عليكم
الأخ العزيز العندليب لم تجاوب على أسئلتي بالأعلى يرجى الرد
بالنسبة لسؤالك :
في الحقيقة لست خبير ولكني أبحث عن الأفضل الخالي من المشاكل ولقد رأيت مواقع عربية كبيرة تستخدم الترميز UTF وهو ماجعلني أعتقد أنه أفضل ترميز والا لما استخدموه بمواقعهمالزميل أبو فيصل
السؤال المهم الذي سأطرحه عليك
لماذا اخترت UTF ؟
لماذا لا تختار UCS ؟
كلها أنظمة يونيكوود ولكن هناك فرق شاسع كبير أريدك أن تبحث عنه حتى تصل الى ضالتك.
ما الترميز الذي تنصحني به حيث أنني سأبني موقع من الصفر و لدي أسئلة بردودي بالأعلى أتمنى الرد عليها؟
السلام عليكم ورحمة الله وبركاته
اسجل شكري للاخ الفاضل العندليب على هذا الموضوع المميز
ولي طلب ان امكن
حبذا لو تفضلت بوضع شرح حول تحويل قاعدة بيانات من اصدار
اعلى الى اصدار اقل فحقيقة هذا الدرس نحتاج له بشكل كبير
بارك الله فيك وجزاك كل الخير
السلام عليكم
الزميل lebanon
نورت الموضوع وشكراً على إطراءك وبريدي للمراسله al3ndaleeb@uk2.net
الزميل أبو فيصل
سبب طرحي للسؤال هو لماذا أراكم تختارون UTF8 ولماذا لا يكون إختياركم UCS2 ؟
هل تعلم أخي الكريم أن هناك فرقاً كبيراً بين الإثنين علماً بأن الترميزين كلها من تراميز اليونيكوود ولكن الأغلب ماشي على مبدأ ( مع القوم ياشقرا ) !!
راجع الرابط التالي:
http://mysql.inspire.net.nz/doc/refm...t-unicode.html
بالنسبه لتساؤلاتك السابقه
كيف قمت بالتحويل الى UTF حتى ظهرت معك ناقصه!!السؤال الأول : هناك الكثير من الحقول بقاعدة البيانات على سبيل المثال لدي حقل
من نوع varchar طولة 60 في ترميز الويندوز تظهر الجملة بكامل أحرفها وعند التحويل الى utf
تظهر الجملة ناقصة . ماهو الطول المناسب للحقل في ترميز utf لتظهر الجملة كاملة ؟
لم أفهم سؤالك الحقيقهالسؤال الثاني : هل ترميز utf لايظهر شكل الآيات القرآنية كما هي في ترميز ويندوز وهل هناك مشاكل بالأحرف أم لا ؟
أليست حروف القران عربيه ؟؟
ماذا تقصد بشكل الآيات القرانيه ؟!؟
أنصحك بالـ Windows-1256 بالطبع .ما الترميز الذي تنصحني به حيث أنني سأبني موقع من الصفر و لدي أسئلة بردودي بالأعلى أتمنى الرد عليها؟
الزميل Eng_Man
أهلا وسهلاً بك ونورت الموضوع
بالنسبه لتساؤلك حول مسألة التحويل من إصدار أعلى الى إصدار أقل فهذه تتم بالطرق التاليه:
1- إذا كانت قاعدة البيانات موجوده على الخادم ذو الإصدار الأعلى فيتم سحبها بالأمر التالي:
مثال:
USER : إسم المستخدم المتصل بالقاعده.كود HTML:mysqldump --character-sets-dir=/usr/share/mysql/charsets/ --default-character-set=LATIN1 --compatible=mysql40 -uUSER -pPASS DATABASE > FILENAME.sql
PASS : كلمة مرور إسم المستخدم
LATIN1 : يجب وضع الترميز الحالي للقاعده .
DATABASE : إسم قاعدة البيانات.
FILENAME : إسم الملف الذي تريد استخراج القاعده له على جذر موقعك.
بإمكانك تنفيذ الأمر عن طريق الـ CronJob إذا كنت لا تملك حساب SSH .
وإذا كانت الـ CronJob معطله فما عليك الا تحويل ترميز القاعده بالسكربت المرفق بهذا الموضوع لتحويل الترميز وبعدها يتم سحب الجداول واحداً تلو الآخر بسكربت آخر مثل سكربتات الباك أب المشهوره.
2- إذا كانت القاعده موجوده على ملف فهنا يتم استخدام برامج خاصه للتحويل مثل أمر iconv على أنظمة اللينكس أو برنامج TextPipe Pro على أنظمة الويندوز وبعد هذه الخطوه يتم إزالة الأسطر المتعلقه بالإصدارات الجديده وهي كثيره وتحتاج الى مراقبة معظم جمل الـ Create الموجوده في الملف.
واهلا وسهلا بكم
مجرد تسجيل حضور اما هذا المبدع
انا ليس لدي خلط وأعرف ان utf يساوي 2 بايت مقابل الترميز العادي 1 بايت لكن احببت ان اشير الى ان من يحول الى utf ستظل المشكلة لأن منتداه بترميز windows-1256 وهذا ما جعل الكثيرين يقولون ان هناك مشكلة في المنتدى وفي الحقيقة لا يوجد مشكلة ولكن يجب عليه ان يحوله يدويا عن طريق ال meta tag الى utfالمشاركة الأصلية كتبت بواسطة العندليب
موضووع اكثر من رائع يا اخى العزيز العندليب ,, وجميل للمناقشة الفعالة ,,
بكمل قراءة الموضووع وان شاء الله برجع لمناقشتك
تحياتى لك وللجميع
__________________
اسم الشركة : اكسلنت سيرف
أداء الشركة : متخصصون بالاستضافة ( سيرفرات - فى بى اس - ريسلرات ) - ادارة و دعم فنى شامل
بريد الشركة :A@Xs.com.eg
اسكاى بي : ExcellentServ
يعطيك العافية اخي العندليب
ودائماً نطلع منك بالمعلومات القيمة والفائدة الكبيرة
بارك الله فيك
اخي العندليب احاول اتواصل معك
لاني اريد محادثتك في امر هام
ولا استطيع كتابته في العام
وحاولت ارسل لك رساله كنت انت قد الغيت الخاصية عندك
فاتمنى لو تضيفني لديك في الماسنجر وهذا ماسنجري
bramasas@hotmail.com
او اعطني اي طريق اقدر اتواصل معك فيه
اخوك شبوة سوفت للبرامج
شكراً ولكن هل توصلت لسبب عدم دعم PHPMyAdmin للعربي رغم القيام بكل ما ذكرت؟؟
بصراحه اتضحت عندي شغلات كثيره والله يجزاك خير
يعني لكل charset (ترميز) collation (قانون) إما افتراضي او انت تختاره .
طيب لو فرضنا اننا استهدمنا الترميز cp1256 وتركنا القانون افتراضي cp1256_general_ci هل سيتماشى مع اللغه العربيه بدون مشاكل >> اقصد الرموز ؟؟؟؟؟؟ ؟؟ وكأني قرأت انه حجم الحرب يتضاعف !!!
ولو فرضنا انها تمشي مع اللغه العربيه هل بإمكاننا ان نستغني عن الكود المستخدم بالصفحه تبع الترميز ؟
وتمنياتي لك بالتوفيق