صفحة 2 من 2 الأولىالأولى 12
النتائج 16 إلى 22 من 22

الموضوع: الابقاء على البيانات بعد تحويلها الى utf8

  1. #16
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2008
    المشاركات
    324


    هذا ترميز utf
    كود PHP:
    ط¹ظ…ط± 
    لكن لم تقم بعمل تغير باقي القيم

    كود PHP:

     $name  
    iconv('windows-1256','utf-8',$row->name);
     
    $country  iconv('windows-1256','utf-8',$row->country);
      
    $town  iconv('windows-1256','utf-8',$row->town);

        
    $sql_text.="UPDATE `tab1` SET `name` ='$name',
        `country`='
    $country',
        `town`='
    $town '
        where `id` = '
    $row->id' ;
        "
    ;

    اخي مهندس مصري windows-1256

    وليس cp1256 لان يجلبها من قاعدة البيانات للمستعرض اي ان يقراها windows-1256 ثم يعود زراعتها

    utf هذا فقط للحفاظ علي قاعدة بيانات موجودة اصلا ويريد تحويلها وليس للعمل كمشروع من الصفر


    التجارب يجب ان تتم علي سيرفر محلي لهذا لاخوف من المحاولة والخطا

    واتمني انك تفعل ذلك

    عموما إذا كان اردث إرسال قاعدة البيانات التي لديك ساقوم بالعمل كاملا تحويل وضبط السكريبت






  2. #17
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2008
    المشاركات
    361


    اريد ان اجرب حتى اصل الى الحل بمساعدتكم ان شاء الله.

    فقط اصبروا علي

    وان فشلت فسارسل لك اخي زميل القاعدة كلها لتحويلها برمجيا (لان هذا امر تحويل البيانات ينفع عند ترقية نسخة ما)

    اسئلة عند الاسترجاع :

    1 - هل يجب ان تكون جميع ملفات php محفوظة بـ UTF8 Wihtout BOM ؟

    2 - هل هيدر الملفات يجب ان يكون UTF8 وليس windows-1256 ؟

    3 - هل يجب زيادة السطور :

    كود PHP:
    @mysql_set_charset('utf8');
          @
    mysql_query('SET NAMES utf8');
          @
    mysql_query('SET CHARACTER SET utf8');
          @
    mysql_query('SET COLLATION_CONNECTION="utf8_general_ci"'); 
    في ملف الاتصال من البداية ولا خوف بان يؤثر ذلك كله عند استرجاع البيانات بترميز latin1 من القاعدة ؟

    4 - هل حفظ ناتج البيانات المسترجعة في ملف update.sql فكرة جيدة ؟ وكيف نضمن انه يتم حفظه تحت ترميز UTF8 Without BOM ولا "تتخربش" البيانات ؟

    شكراً.





    __________________
    مجلتي الصغيرة

  3. #18
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2008
    المشاركات
    361


    أول ملاحظة :

    ملف config.php يعمل جيدا اذا كان هكذا :

    كود PHP:
    <?php
    // DB login information
    $username 'root';
    $password 'root';
    $database 'db_test';
    $host     'localhost';

    $Charset "utf8"

    $link mysql_connect($host$username$password);

    $char mysql_query("SELECT CHARSET (DATABASE())") or die (mysql_error());
    $coll mysql_query("SELECT COLLATION (DATABASE())") or die (mysql_error());
    $chmysql_fetch_array($char);
    $clmysql_fetch_array($coll);
    echo 
    "char = ".$ch[0]."<br />";
    echo 
    "coll = ".$cl[0]."<br />";
    //mysql_set_charset($Charset,$link);  
    //mysql_query("SET NAMES $Charset;", $link) or die ('Erreur de connexion au serveur: '.mysql_error());

    mysql_select_db($database);
    //mysql_set_charset("utf8");
    ?>
    وملف update.sql الناتج يكون هكذا :

    كود PHP:
    UPDATE `tab2SET `name` ='عادل',
        `
    country`='سوريا',
        `
    town`='حماة '
        
    where `id` = '8' ;
        
    UPDATE `tab2SET `name` ='علي',
        `
    country`='العراق',
        `
    town`='البغدادية '
        
    where `id` = '7' ;
        
    UPDATE `tab2SET `name` ='فيصل',
        `
    country`='السعودية',
        `
    town`='الرياض '
        
    where `id` = '6' ;
        
    UPDATE `tab2SET `name` ='احمد',
        `
    country`='مصر',
        `
    town`='بور سعيد '
        
    where `id` = '5' ;
        
    UPDATE `tab2SET `name` ='عمر',
        `
    country`='العراق',
        `
    town`='كربلاء '
        
    where `id` = '4' 
    اما نزعت سلاش التعليقات من امام السطور :

    كود PHP:
    mysql_set_charset($Charset,$link);  
    mysql_query("SET NAMES $Charset;"$link) or die ('Erreur de connexion au serveur: '.mysql_error());
    mysql_set_charset("utf8"); 
    فسيصبح ملف update.sql غير مقروء هكذا :

    كود PHP:
    UPDATE `tab2SET `name` ='ط£ع‘ط£â€،ط£عˆط£طŒ'
        `
    country`='ط£â€œط£آ¦ط£â€کط£آ­ط£â€،'
        `
    town`='ط£ع†ط£آ£ط£â€،ط£â€° ' 
        
    where `id` = '8' 
        
    UPDATE `tab2SET `name` ='ط£ع‘ط£طŒط£آ­'
        `
    country`='ط£â€،ط£طŒط£ع‘ط£â€کط£â€،ط£â€چ'
        `
    town`='ط£â€،ط£طŒط£ث†ط£â€؛ط£عˆط£â€،ط£عˆط£آ­ط£â€° ' 
        
    where `id` = '7' 
        
    UPDATE `tab2SET `name` ='ط£â€Œط£آ­ط£â€¢ط£طŒ'
        `
    country`='ط£â€،ط£طŒط£â€œط£ع‘ط£آ¦ط£عˆط£آ­ط£â€°'
        `
    town`='ط£â€،ط£طŒط£â€کط£آ­ط£â€،ط£â€“ ' 
        
    where `id` = '6' 
        
    UPDATE `tab2SET `name` ='ط£â€،ط£ع†ط£آ£ط£عˆ'
        `
    country`='ط£آ£ط£â€¢ط£â€ک'
        `
    town`='ط£ث†ط£آ¦ط£â€ک ط£â€œط£ع‘ط£آ­ط£عˆ ' 
        
    where `id` = '5' 
        
    UPDATE `tab2SET `name` ='ط£ع‘ط£آ£ط£â€ک'
        `
    country`='ط£â€،ط£طŒط£ع‘ط£â€کط£â€،ط£â€چ'
        `
    town`='ط£ع؛ط£â€کط£ث†ط£طŒط£â€،ط£ظ¾ ' 
        
    where `id` = '4' 
    ولكن هذه السطور الا احتاجها في عملية الادراج بعد تحويل القاعدة الى ترميز UTF8 ؟

    في هذه الحالة وجب ايجاد ملفي اتصال :

    1 - الاول خاص بالاسترجاع عندما تكون القاعدة بترميز latin1.

    2 - الثاني خاص بالادراج عندما تصبح القاعدة بترميز utf8.

    :con2:

    ملف get_datas.php المستعمل (محفوظ بصيغة UTF8 without BOM)

    كود PHP:
    <?php
    header
    ('(anti-spam-(anti-spam-content-type:)) text/html; charset=utf-8' );
    include (
    "config.php");
    $sql_text="";
    $sql="select * from tab2 order by id DESC";
    $res=mysql_query($sql);
    mysql_query("SET NAMES 'utf8'");
    mysql_query('SET CHARACTER SET utf8');

    while(
    $row=mysql_fetch_object($res)){
        
    $name  iconv('windows-1256','utf-8',$row->name);
        
    $country  iconv('windows-1256','utf-8',$row->country);
        
    $town  iconv('windows-1256','utf-8',$row->town);

        
    $sql_text.="UPDATE `tab2` SET `name` ='$name',
        `country`='
    $country',
        `town`='
    $town '
        where `id` = '
    $row->id' ;
        "
    ;
    }
    highlight_string($sql_text);
    $file="update.sql";
    $fp=fopen($file"w"); 
    fwrite($fp,$sql_text);
    fclose($fp); 
    ?>






    التعديل الأخير تم بواسطة apitos ; 16-04-2011 الساعة 01:22 PM
    __________________
    مجلتي الصغيرة

  4. #19
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    اذا كانت قاعدة البيانات لديك ماهي ضخمة او كبيرة جدا، يعني بحدود 1 ميغا
    تقدر ترسلها لي وانا راح اقوم بتحويها لك عبر محرر يدعم الترميز العالمي

    قم باصدار القاعدة من خلال PHPMyAdmin بالترميز أسكي العربي وأنا سأقوم بتعديله وتحويله إلى UTF8





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  5. #20
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2008
    المشاركات
    361


    هذا ترميز utf

    عموما إذا كان اردث إرسال قاعدة البيانات التي لديك ساقوم بالعمل كاملا تحويل وضبط السكريبت
    اذا كانت قاعدة البيانات لديك ماهي ضخمة او كبيرة جدا، يعني بحدود 1 ميغا
    تقدر ترسلها لي وانا راح اقوم بتحويها لك عبر محرر يدعم الترميز العالمي

    قم باصدار القاعدة من خلال PHPMyAdmin بالترميز أسكي العربي وأنا سأقوم بتعديله وتحويله إلى UTF8

    تم الارسال منذ الاسبوع الماضي.

    هل من جديد ؟





    التعديل الأخير تم بواسطة apitos ; 02-05-2011 الساعة 02:45 PM
    __________________
    مجلتي الصغيرة

  6. #21
    عضو نشيط جدا
    تاريخ التسجيل
    Dec 2004
    المشاركات
    364


    الملف الذي ارسلته لم يكن بالعربي
    بل كان بترميز غريب

    تأكد انك تصدر القاعدة بأي ترميز غير مهم، لكن من المهم ان تكون النصوص فيه باللغة العربي

    وأنا اقترح انه اذا كانت البيانات اللي تريد تحويلها غير مهمة انك تبدأ بالقاعدة فارغة من جديد بترميز UTF-8 مباشرة

    اتمنى تتأكد من الملف مرة أخرى وترسله لي


    تقبل مني أرق تحية





    __________________
    الخدمات البرمجية
    تعديلات برمجية - تطوير برمجيات جاهزة - صيانة قواعد بيانات
    برمجة خاصة (الأولوية للأفكار الجديدة والخاصة)

    المراسلة : http://it.rewaq.com

  7. #22
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2008
    المشاركات
    361


    النصوص في القاعدة ليست بالحرف العربي بالطبع لانها latin1_swedish_ci.

    اما بخصوص البدء من جديد فلا يمكن ذلك على الاقل بالنسبة لمسميات الاقسام وامور اخرى مخزنة في القاعدة.





    __________________
    مجلتي الصغيرة





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

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

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