عرض مشاركة واحدة
  #1  
قديم 04-11-2009, 11:30 PM
مبرمج مبرمج غير متواجد حالياً
Senior Member
 
تاريخ التسجيل: Feb 2009
المشاركات: 1,811
افتراضي مشكلة فى ترميز utf-8 , اريد من خبراء ومحترفى php الوصول لحل جذرى!!

السلام عليكم ورحمة الله وبركاته
تحية طيبة الى اعضاء ترايدنت الكرام ,


قمت بتحميل احد السكربتات , لأقوم بتعريبه
قمت بتعريب ملف اللغة , ولم تظهر اى مشكلة

بعدها قمت بالتعديل داخل ملف index.php على بعض العبارات الاجنبية
لتصبح كلمات عربية , ولكن للأسف واجهتنى اول مشكلة وهى ان العبارات العربية ظهرت كذلك

" مربعات " !!


لذا بحثت فى هذه المشكلة , وذكروا لى انه يجب حفظ الملف بصيغة UTF-8 من الـ Notpad
لذا نسخت محتويات ملف index.php ووضعتها فى ملف Notepad وحفظتها بالترميز المطلوب واستبدلت الملف index.php بالترميز الجديد

الحمد لله .. المشكلة اتحلت والحروف العربية ظهرت ,

ولكن ظهرت المشكلة الثانية وهى :


وهذه المشكلة ظهرت بعد تعديل الترميز , لكن الكلمات العربية ليس بها مشكلة

وبحثت ايضاً ووجدت ان هذه المشكلة يمكن حلها بطريقتين :

1- الطريقة الأولى استخدام برنامج Hex-editor XVI32 : واقوم باستدعاء ملف index.php بعدها اقوم بحذف 3 رموز زائدة فى بداية الملف .

2- الطريقة الثانية من خلال برنامج notepad++ : اقوم باستدعاء ملف index.php واقوم بتغيير الترميز إلى utf-8 without BOM .

وجربت الطريقتين واشتغلوا معى الحمد لله , والخطا الموجود فى الصورة بالأعلى اختفى , والكلمات العربية شغالة .

إذن ما المشكلة الآن ؟؟

المشكلة هى عند فتح ملف index.php مرة أخرى من خلال برنامج notepad والتعديل عليه تعود رسالة الخطأ مرة أخرى والسبب " فى اعتقادى - انه عند حفظ الملف من برنامج notepad بعد التعديلات يرجع الترميز الى ANSI " , وارجع اقوم بنفس التعديلات حتى تختفى المشكلة وهكذا !! , البعض قال لى انه يجب فتح الملف بواسطة notepad++ لتلافى هذا الخطأ , ولكن هذا ليس حل , فإذا قمت انا بذلك سيأتى من بعدى ليقوم بالتعديل على الملف ويقع فى نفس الفخ .

وبحثت فى احد المواقع ووجدت انه يجب وضع ترميز اللغة utf-8 داخل الملف index.php او داخل ملف .htaccess حتى يجبره على قراءة الملف بهذا الترميز , ولكنها لم تفلح.

قمت ايضا بتعديل ترميز السكربت و قواعد البيانات من utf-8 الى windows-1256 لأقضى على هذا الملل ويصبح السكربت بالترميز العربى, ولكن ها هى نفس المشكلة تظهر , على الرغم من اننى وجدت شخص سابق قام بالتعديل على نفس السكربت " نسخة قديمة " وملف index.php فتحته بالـ notepad وعدلت عليه وحفظته على الترميز ANSI " الإفتراضى " ولم اجد اى مشاكل .

انا تعبت جداً من البحث ومن التجربة , وللاسف اننى لست مبرمج.

لذا ارجو من الخبراء ومحترفين هذه اللغة ان يجدوا حلاً لهذه المشكلة التى لم اجد لها حلا فى اى موقع , لقد لجات اليكم لاننى اعرف ان حل مشكلتى سيكون فى يد علماء سوالف إن شاء الله .

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