المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : مشكلة فى ترميز utf-8 , اريد من خبراء ومحترفى php الوصول لحل جذرى!!


مبرمج
04-12-2009, 02:30 AM
السلام عليكم ورحمة الله وبركاته
تحية طيبة الى اعضاء ترايدنت الكرام ,


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

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

" مربعات " !!
http://img22.imageshack.us/img22/6025/24550946.gif

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

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

ولكن ظهرت المشكلة الثانية وهى :
http://img22.imageshack.us/img22/5351/66411443.gif

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

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

1- الطريقة الأولى استخدام برنامج Hex-editor XVI32 (http://www.programmersheaven.com/d/click.aspx?ID=F21568) : واقوم باستدعاء ملف index.php بعدها اقوم بحذف 3 رموز زائدة فى بداية الملف .

2- الطريقة الثانية من خلال برنامج notepad++ (http://www.filehippo.com/download/file/400d94b818a590f1a226543f213e95ceb5f5a166a4b01ae55a 72c34b1959a7b0/) : اقوم باستدعاء ملف 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 " الإفتراضى " ولم اجد اى مشاكل .

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

لذا ارجو من الخبراء ومحترفين هذه اللغة ان يجدوا حلاً لهذه المشكلة التى لم اجد لها حلا فى اى موقع , لقد لجات اليكم لاننى اعرف ان حل مشكلتى سيكون فى يد علماء سوالف إن شاء الله http://www.swalif.net/softs/images/smilies/smile.gif .

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