النتائج 1 إلى 13 من 13

الموضوع: مشكلة مع دالة iconv

  1. #1
    صاحب موقع المعهد العربي
    تاريخ التسجيل
    Sep 2006
    المشاركات
    797

    مشكلة مع دالة iconv



    السلام عليكم

    لدى احدى سكربت الدليل يقوم بجلب عناوين المواقع تلقائيا و هو على ترميز utf8

    بالطبع المواقع العربية التى تكون على ترميز utf8 لا يوجد بها مشكلة العناوين تأتى سليمة

    المشكلة فى المواقع بالترميز العربي windows-1256 و استخدمت دالة iconv معها بهذا الأمر

    كود PHP:
    $webtitle iconv('Windows-1256''UTF-8'$webtitle); 
    و الحمد الله نجحت فى ان جميع عناوين المواقع ذات الترميز العربي تجلب للدليل بدون مشكلة

    لكن للأسف المواقع ذات ترميز utf8 اصبحت هيا المشكلة و تأتى برموز غريبة مثل ذالك ط³ظٹط¯ط§طھ

    فهل يوجد فكرة للحل ؟





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


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Jun 2008
    المشاركات
    54


    يا ريت توضح وتعطى لنا ملف الكود الخاص بالمشكلة
    لكى نستطيع ان نساعدك






  3. #3
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    احفظ الملف المستخدم بترميز utf-8





    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  4. #4
    صاحب موقع المعهد العربي
    تاريخ التسجيل
    Sep 2006
    المشاركات
    797


    اشكرك على المحاولة

    الدالة ممتازة فى التحويل لكن عندما يكون الموقع بترميز windows-1256 اى انها تقوم بعملها .

    المشكلة هنا ان لو الموقع بترميز utf8 فهى تظهر الرموز السابقة اى انها تفهمة على انه ترميز windows-1256 و تعيد تحويلة الى utf8 لهذا تظهر الرموز





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

  5. #5


    عليك معرفة ترميز الموقع اولاً وبناءاً عليه لو كان الترميز ويندوز نفذ
    لو لم يكن ويندوز لا تنفذ
    وذلك بفحص الميتا في الموقع





    __________________
    السيف أصدق أنباء من الكتب

  6. #6
    صاحب موقع المعهد العربي
    تاريخ التسجيل
    Sep 2006
    المشاركات
    797


    عليك معرفة ترميز الموقع اولاً وبناءاً عليه لو كان الترميز ويندوز نفذ
    لو لم يكن ويندوز لا تنفذ
    وذلك بفحص الميتا في الموقع
    اشكرك على التوضيح ...

    اعلم ان يجب ان افكر فى دالة تقوم بفحص ترميز الموقع و من ثم تنفيذ الأوامر عليها ...

    لكن انى اخترت الطريقة التى ذكرتها فى مشاركتى الأولى لأنى كنت جربتها قبل ذالك فى المنتدى و نجحت لكن هنا لم تنجح

    و ايضا لأعتقادى ان الدالة iconv ان وجدت ترميز utf-8 فلا تقوم بتحويلة الى utf-8 و حتى ان حولتة فلا يكون خطأ





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

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Feb 2002
    المشاركات
    284


    اخوي لازم تفحص النص هل هو UTF-8 او لا استخدم هذا الفانكشن بيساعدك

    كود PHP:
    function fixEncoding($in_str)
    {
      
    $cur_encoding mb_detect_encoding($in_str) ;
      if(
    $cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
        return 
    $in_str;
      else
        return 
    utf8_encode($in_str);







    __________________
    طارق

  8. #8
    صاحب موقع المعهد العربي
    تاريخ التسجيل
    Sep 2006
    المشاركات
    797


    اخوي لازم تفحص النص هل هو UTF-8 او لا استخدم هذا الفانكشن بيساعدك

    كود PHP:
    function fixEncoding($in_str)
    {
      
    $cur_encoding mb_detect_encoding($in_str) ;
      if(
    $cur_encoding == "UTF-8" && mb_check_encoding($in_str,"UTF-8"))
        return 
    $in_str;
      else
        return 
    utf8_encode($in_str);

    الف شكرا طارق جربتها و الدالة ممتازة جدااا لكن الأمر utf8_encode($in_str) لا ينفذ بصورة صحيحة استبدلتة ب iconv و تم على خير الحمد الله

    كل عام و انتم بخير





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

  9. #9
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    547


    ملاحظة صغيرة أخي الكريم، ليس هنالك من بين مجموعات المحارف التي تدعمها عادة دالة iconv مجموعة المحارف العربية التي ندعوها Windows-1256 بل تدعى cp1256 (هي ذات مجموعة المحارف لكن بتسمية مختلفة، تماما كما هي الحال في مجموعات المحارف في قاعدة MySQL للبيانات).

    أردت أن أنوه لهذه الملاحظة لأنها إحدى الأخطاء التي سبق أن وقعت بها من قبل.





    __________________
    خالد الشمعة - Khaled Al-Shamaa
    PHP and Arabic language

  10. #10


    هذه المشكلة اعاني منها
    وهذا الكود الي بستخدمه طبعا جربت latin1 و windows-1256
    كود PHP:
    $author_name iconv ("CP1256","UTF-8",iconv ("UTF-8","CP1256",$row[$i]['last_poster_name'])); 







  11. #11


    ع العلم كل ترميز موقعي هو utf-8






  12. #12


    up.............






  13. #13


    up .............










ضوابط المشاركة

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

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