السلام عليكم ورحمة الله وبركاته
أهلا وسهلا بالأخوان الجدد بالموضوع وحياكم الله
الزميل all-patch
إقتباس:
| عدت اليك و بسرعة .... فكرة و فراضية خطرت على البال و اود التحدث فيها .....
عند تركيب سكريبت معين ، كمجلة او منتدى ، لاحظ معي ان السكريبت لا يقوم يتغيير نظام القاعدة في الترميز بل يستخدم الترميز الحالي للقاعدة إضافة إلى ترميز السكريب الذي يكون مثلا iso-******* على حسب اللغة ... |
ذكرنا هذا الكلام في بداية الموضوع
حيث قلنا لو قمنا بإنشاء قاعدة بيانات بدون تحديد نوع الترميز لها فسوف يتم إنشاء هذه القاعده بنوع ترميز الخادم.
لذلك السكربت الذي قمت بتركيبه راجع فيه جملة إنشاء القاعده فيه.
إقتباس:
| يظهر ترقية للسكريبت و في الترقية يتم التغيير لنظام uft-8 ، و الغريب في الامر ان السكريبت ايضا لا يقوم بالمس في ترميز القاعدة ، فقط تغيير الترميز في السكريبت يؤدي إلى عمل السكريبت و ظهور الحروف بسكل طبيعي !!!!!!!!!!! |
لم أفهم هذا الجزء حقيقة !!!
إقتباس:
| بخصوص القانون ب uft-8 ، جربت 3 قوانين و نفس النتيجة .....
utf8_unicode_ci
utf8_general_ci
utf8_persian_ci |
طيب بما أن الـ utf8 لم ينجح معك فقم بتجربة الـ ucs2 فهذا الترميز ثنائي وهو الترميز الصحيح لليونيكوود وبعد التحويل الى ucs2 قم بالتحويل الى ut8 وشاهد النتيجه.
يعني حتكون خطواتك كالتالي:
كود PHP:
ALTER TABLE myTable MODIFY myColumn BINARY(255);
ALTER TABLE myTable MODIFY myColumn VARCHAR(255) CHARACTER SET ucs2 COLLATE ucs2_persian_ci;
ALTER TABLE myTable MODIFY myColumn BINARY(255);
ALTER TABLE myTable MODIFY myColumn VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_persian_ci;
الاخ p7r
الشكر والرضى لله وحده.
تسلم على مرورك ياطيب
الاخ PHP-Master02
شاكر مرورك الكريم وحياك الله
المشرف أبو مشعل
تسلم ياعزيزي على المرور وأشكرك على التثبيت ووفقنا الله وإياك لكل خير.
الاخ Milad
اشكرك على المرور
إن شاء الله حشاهد العمل اللي عملته اذا تفرغ الوقت .
الاخ ليبي مكافح
نورت ياعزيزي وتسلم على المرور
الاخ php4pro
حياك الله ياطيب
بالنسبه لتساؤلاتك
إقتباس:
| الا يمكن عمل باك اب لقاعدة البينات ثم تنزيلها على الجهاز ثم تحويلها على السيرفر الشخصي ومن ثم رفعها مره أخرى للموقع طبعا قد تكون الطريقة غبية اذا كانت قاعدة البينات كبيرة لكن المهم هل تنفع هذه الطريقة ام لا |
نعم تنفع الطريقه وهناك طرق اخرى تختلف عن طريقة السكربت في التحويل.
إقتباس:
| ثانيا:
هناك مشكلة اخرى لنفرض انك حولت قاعدة البيانات الى utf8 ولا صار فيه مشاكل عند استعراض الموقع بالwindows-1256 او اذا ادخلت عن طريق الفورم بترميز windows-1256 هل سيظهر العربي؟؟ لن يظهر |
يبدو أن لديك خلط.
الـ utf8 كل حرف فيه يمثل 2 بايت
أما الـ windows-1256 كل حرف فيه يمثل بايت واحد فقط.
إفرض أنك تريد إظهار حروف الـ utf8 على ترميز الـ windows-1256 فكيف تتوقع ظهور هذه الحروف ؟
سأعطيك مثال:
الجمله الأولى مكتوبه بالـ utf8 :
العندليب
الجمله الأولى معروضه بالـ windows-1256 :
ے'D9F/DJ(
حروف جملة ( العندليب ) 8 حروف أصبحت 16 جزء عند عرضها بالـ windows-1256 .
إقتباس:
| الحقيقة شيء يوجع الراس لاحظ ان هناك قاعدة بينات فيها مشكلة واذا حليتها وحولتا الى utf لابد ان يكون المستخدم يستخدم ترميز utf من اجل ان يظهر العربي لكن غالب الناس تستخدم windows-1256
ممكن حل هذه المشكلة بدون ما يعرف المستخدم وهو عند دخوله للموقع يتحول التصفح عنده الى utf مثل google الان يستخدم utf اذا دخلت يتغير عنك الترميز مباشرة ولو رجعته الى windows-1256 راح ظهر عندك كلمات غير مفهومه مثل "طھط¬ط±ط¨ط©" |
تحديد ترميز صفحة الـ html التي تعرض للزوار يتم بتاقز يسمى meta على سبيل المثال:
كود HTML:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
لذلك يجب التركيز على الترميز المرسل الى الخادم وعلى الترميز المستقبل من الخادم.
إن شاء الله اتضحت الصوره.
تحياتي لكم