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

الموضوع: ياخبراء الترميز ... مشكلة في اللغة العربية .. مرفق السكريبت

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    77

    ياخبراء الترميز ... مشكلة في اللغة العربية .. مرفق السكريبت



    السلام عليكم ورحمة الله وبركاته ..

    لدي سكريبت عبارة عن ملف قاعدة بيانات وملف واحد بي اتش بي .. المشكلة ان السكريبت يظهر الكلمات العربية بحروف غريبة حاولت بشتى الطرق من ترميز قاعدة البيانات الا اضافة كود الترميز الى صفحة البي اتش بي ولكن دون فائدة لا يتغير نهائيا ..

    هذه هي قاعدة البيانات

    كود PHP:
    -- phpMyAdmin SQL Dump 
    -- version 2.10.2 
    -- http://www.phpmyadmin.net 
    --  
    -- 
    Hostlocalhost 
    -- Generation TimeJun 202008 at 02:44 PM 
    -- Server version5.0.45 
    -- PHP Version5.2.3 

    SET SQL_MODE
    ="NO_AUTO_VALUE_ON_ZERO"

    --  
    -- 
    Database: `wap8
    --  

    -- -------------------------------------------------------- 

    --  
    -- 
    Table structure for table `shout
    --  

    CREATE TABLE `shout` ( 
      `
    messagetext NOT NULL
      `
    timeint(11NOT NULL
      `
    iptext NOT NULL
      `
    nametext NOT NULL
      `
    bannedtinyint(4NOT NULL default '0' 
    ENGINE=MyISAM DEFAULT CHARSET=utf8

    --  
    -- 
    Dumping data for table `shout
    --  

    INSERT INTO `shoutVALUES ('ff'1213922543'127.0.0.1''ff'0); 
    INSERT INTO `shoutVALUES ('&Oslash&laquo&Ugrave‚&Ugrave<br />„&Oslash&laquo&Ugrave‚&Ugrave<br />„&Oslash&laquo&Ugrave‚&Ugrav<br />e„'1213922598'127.0.0.1''&UgraveŠ&Oslash&uml&Ug<br />rave„&Oslash&laquo&Ugr<br />ave‚&Ugrave„'0); 
    INSERT INTO `shoutVALUES ('&Oslash&laquo&Ugrave‚&Ugrave<br />„&Oslash&laquo&Ugrave‚&Ugrave<br />„&Oslash&laquo&Ugrave‚&Ugrav<br />e„'1213922750'127.0.0.1''&UgraveŠ&Oslash&uml&Ug<br />rave„&Oslash&laquo&Ugr<br />ave‚&Ugrave„'0); 
    INSERT INTO `shoutVALUES ('wfewf'1213923547'127.0.0.1''dfw'0); 
    INSERT INTO `shoutVALUES ('nn'1213923587'127.0.0.1''nnnn'0); 
    وهذا هو السكريبت وهو عبارة عن صفحة واحدة اسمها shoutbox.php

    كود PHP:
     <style type="text/css"> 
    body,textarea,input,h2 {font-size: 8pt; font-family: arial;} 
    h1 {font-size: 10pt; font-family: arial; color: #FFFFFF; background-color: #4C5D8D;} 
    </style> 

    <?PHP 
    $connection 
    mysql_connect('localhost','root','4530') or die(mysql_error()); 
    mysql_select_db('wap8'$connection) or die(mysql_error()); 

    function 
    filter($text) { 
    $replace=array(':)'=>' <img src="smile.gif">',':('=>' <img src="sad.gif">',':D'=>' <img src="biggrin.gif">',':p'=>' <img src="tongue.gif">',';)'=>' <img src="wink.gif">','\''=>'',';'=>'','--'=>''); 
    foreach(
    $replace as $old=>$new$text str_replace($old,$new,$text); 
    return 
    $text 

    if(isset(
    $_POST['submit'])) { 
    $result mysql_query("select max(`time`), max(`banned`) from `shout` where `ip` = '".$_SERVER['REMOTE_ADDR']."'"); 
    $result mysql_fetch_array($result); 
    $name filter(wordwrap(htmlentities($_POST['name']),25,'<br />',1)); 
    $message filtersubstrwordwrapnl2brhtmlentities($_POST['message'])),32,'<br />',1),0,250)); 
    if (((
    time() - $result[0]) > 1) && ($result[1]!=1)) 
    mysql_query("insert into shout(`name`,`time`,`message`,`ip`) values('$name','".time()."','$message','".$_SERVER['REMOTE_ADDR']."')"); 
    else echo 
    "<div style=\"background-color:#99CCFF;\"><h2>Slow down!</h2 ></div>"

    $resultSet mysql_query("select `name`, `time`, `message` from `shout` order by `time` desc limit 7"); 
    while (
    $record mysql_fetch_assoc($resultSet)) 
    echo 
    "<div><h1>".$record['name']." - ".date("H:i",$record['time'])."</h1>\n".$record['message']."</div>" 
    ?> 
    <form action="shout.php" method="post" name="shout"> 
    <input name="name" type="text" value="" size="23" maxlength="20"><br /> 
    <textarea name="message" cols="20" rows="5" maxlength="100"></textarea><br /> 
    <input name="submit" type="submit" value="submit"> 
    </form>
    طبعا


    طبعا المشكلة تظهر برموز غريبه
    &#217;�&#216;«&#217;
    �&#216;«&#217;�&#216;
    ¨&#216;«&#217;�&O
    slash«&#217;�&#216;&l
    aquo&#217;�&#216;

    مهما كتبت عربي ما تظهر الحروف العربية وجربت جميع الاضافات في الهيدر لجميع الأكواد سواء ترميز utf او 1256 ولكن دون جدوى ...... كذلك انشئت قواعد بيانات بترمزات مختلفه وغيرت فيها ولكن لا فائدة بالاضافة لحفظي بالفكرة ملف البي اتش بي بترميز utf ولكن نفس المشكلة ..

    امل المساعدة يا اخوان او اعطائي بعض الافكار لهذه المشكلة .. واللي يركب السكريبت يعرف المشكلة ... السكريبت بسيط كله امامكم يعني ما هو السطر المفقود





    __________________
    تصميم ثيمات وورد بريس

    ::راسلني للتصاميم والتعريب::


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

    Cool



    مشكله أكيده عندك هي في الداله htmlentities يجب وضع تعريف اضافي للغة العربية.
    انا وضعتلك التعريف UTF-8 . ما جربتها لكن جربها ووافيني بالنتائج

    كود:
    <style type="text/css"> 
    body,textarea,input,h2 {font-size: 8pt; font-family: arial;} 
    h1 {font-size: 10pt; font-family: arial; color: #FFFFFF; background-color: #4C5D8D;} 
    </style> 
    
    <?PHP 
    $connection = mysql_connect('localhost','root','4530') or die(mysql_error()); 
    mysql_select_db('wap8', $connection) or die(mysql_error()); 
    
    function filter($text) { 
    $replace=array(':)'=>' <img src="smile.gif">',':('=>' <img src="sad.gif">',':D'=>' <img src="biggrin.gif">',':p'=>' <img src="tongue.gif">',';)'=>' <img src="wink.gif">','\''=>'',';'=>'','--'=>''); 
    foreach($replace as $old=>$new) $text = str_replace($old,$new,$text); 
    return $text ; 
    } 
    if(isset($_POST['submit'])) { 
    $result = mysql_query("select max(`time`), max(`banned`) from `shout` where `ip` = '".$_SERVER['REMOTE_ADDR']."'"); 
    $result = mysql_fetch_array($result); 
    $name = filter(wordwrap(htmlentities($_POST['name'],'UTF-8'),25,'<br />',1)); 
    $message = filter( substr( wordwrap( nl2br( htmlentities($_POST['message'],'UTF-8')),32,'<br />',1),0,250)); 
    if (((time() - $result[0]) > 1) && ($result[1]!=1)) 
    mysql_query("insert into shout(`name`,`time`,`message`,`ip`) values('$name','".time()."','$message','".$_SERVER['REMOTE_ADDR']."')"); 
    else echo "<div style=\"background-color:#99CCFF;\"><h2>Slow down!</h2 ></div>"; 
    } 
    $resultSet = mysql_query("select `name`, `time`, `message` from `shout` order by `time` desc limit 7"); 
    while ($record = mysql_fetch_assoc($resultSet)) 
    echo "<div><h1>".$record['name']." - ".date("H:i",$record['time'])."</h1>\n".$record['message']."</div>" ; 
    ?> 
    <form action="shout.php" method="post" name="shout"> 
    <input name="name" type="text" value="" size="23" maxlength="20"><br /> 
    <textarea name="message" cols="20" rows="5" maxlength="100"></textarea><br /> 
    <input name="submit" type="submit" value="submit"> 
    </form>






    التعديل الأخير تم بواسطة MaX_Pro ; 21-06-2008 الساعة 09:14 PM

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    77


    مقدر اخي الكريم مساعدتك والف شكر على التفاعل ، انا بالفعل سويت اللي قلت لي عليه ولكن ظهر هذا الخطا عند كتابة اي شي


    كود PHP:
    Warning:  htmlentities() expects parameter 2 to be longstring given in C:\AppServ\www\wap8\shout.php on line 18

    Warning
    :  htmlentities() expects parameter 2 to be longstring given in C:\AppServ\www\wap8\shout.php on line 19 
    وهو مكان الدالة .... :con2: اذن ما المشكلة





    __________________
    تصميم ثيمات وورد بريس

    ::راسلني للتصاميم والتعريب::

  4. #4
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346


    بسم الله الرحمن الرحيم

    وعليكم السلام ورحمة الله وبركاته..

    أخي الكريم..
    استخدم htmlspecialchars بدلا عن htmlentities
    فأنت لا تحتاج تحويل جميع الأحرف إلى مدخلات HTML..
    ستؤدي لتضخيم قاعدة البيانات في حين لا جدوى لذلك..

    htmlspecialchars تقوم بتحويل العلامات المطلوبة فقط.. أي الوسوم الخاصة باللغة..

    قمت بتجربة الدالتين..
    وعمل السكربت معي بانسيابية تامة..

    تحياتي






  5. #5
    عضو نشيط
    تاريخ التسجيل
    Feb 2008
    المشاركات
    77


    اخي الكريم PHP-Master02
    خبرتي في البي اتش بي محدودة ... هل استبدل اسم الدالة فقط ؟؟





    __________________
    تصميم ثيمات وورد بريس

    ::راسلني للتصاميم والتعريب::

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jun 2002
    المشاركات
    1,346

    Smile



    أهلا أخي الكريم...

    نعم.. استبدل اسم الدالة فقط ..

    عدلت لك عليها..


    كود PHP:
     <style type="text/css"> 
    body,textarea,input,h2 {font-size: 8pt; font-family: arial;} 
    h1 {font-size: 10pt; font-family: arial; color: #FFFFFF; background-color: #4C5D8D;} 
    </style> 

    <?PHP 
    $connection 
    mysql_connect('localhost','root','4530') or die(mysql_error()); 
    mysql_select_db('wap8'$connection) or die(mysql_error()); 

    function 
    filter($text) { 
    $replace=array(':)'=>' <img src="smile.gif">',':('=>' <img src="sad.gif">',':D'=>' <img src="biggrin.gif">',':p'=>' <img src="tongue.gif">',';)'=>' <img src="wink.gif">','\''=>'',';'=>'','--'=>''); 
    foreach(
    $replace as $old=>$new$text str_replace($old,$new,$text); 
    return 
    $text 

    if(isset(
    $_POST['submit'])) { 
    $result mysql_query("select max(`time`), max(`banned`) from `shout` where `ip` = '".$_SERVER['REMOTE_ADDR']."'"); 
    $result mysql_fetch_array($result); 
    $name filter(wordwrap(htmlspecialchars($_POST['name']),25,'<br />',1)); 
    $message filtersubstrwordwrapnl2brhtmlspecialchars($_POST['message'])),32,'<br />',1),0,250)); 
    if (((
    time() - $result[0]) > 1) && ($result[1]!=1)) 
    mysql_query("insert into shout(`name`,`time`,`message`,`ip`) values('$name','".time()."','$message','".$_SERVER['REMOTE_ADDR']."')"); 
    else echo 
    "<div style=\"background-color:#99CCFF;\"><h2>Slow down!</h2 ></div>"

    $resultSet mysql_query("select `name`, `time`, `message` from `shout` order by `time` desc limit 7"); 
    while (
    $record mysql_fetch_assoc($resultSet)) 
    echo 
    "<div><h1>".$record['name']." - ".date("H:i",$record['time'])."</h1>\n".$record['message']."</div>" 
    ?> 
    <form action="shout.php" method="post" name="shout"> 
    <input name="name" type="text" value="" size="23" maxlength="20"><br /> 
    <textarea name="message" cols="20" rows="5" maxlength="100"></textarea><br /> 
    <input name="submit" type="submit" value="submit"> 
    </form>

    تحياتي







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


    الف شكر اخي PHP-Master02

    قمت بالتجربة واستبدال الموجود .. ولكن للأسف نفس المشكلة






    __________________
    تصميم ثيمات وورد بريس

    ::راسلني للتصاميم والتعريب::

  8. #8

    تاريخ التسجيل
    Mar 2007
    المشاركات
    500


    انا جربت كود PHP-Master02, و شغال تمام
    ادخلت على نفس الكود لبي اتش بي ماستر 02 ترميز الصفحة و الاتصال
    كما في التالي
    كود:
    <html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf-8"> 
    <style type="text/css">  
    body,textarea,input,h2 {font-size: 8pt; font-family: arial;}  
    h1 {font-size: 10pt; font-family: arial; color: #FFFFFF; background-color: #4C5D8D;}  
    </style>  
    </head><body>
    
    <?PHP 
    header("(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-(anti-spam-content-type:)))))) text/html;charset=utf8");
    
    $connection = mysql_connect('localhost','root',''4530'') or die(mysql_error());  
    mysql_select_db('wap8', $connection) or die(mysql_error()); 
    mysql_query("SET NAMES 'utf8'");
    
    function filter($text) {  
    $replace=array(':)'=>' <img src="smile.gif">',':('=>' <img src="sad.gif">',':D'=>' <img src="biggrin.gif">',':p'=>' <img src="tongue.gif">',';)'=>' <img src="wink.gif">','\''=>'',';'=>'','--'=>'');  
    foreach($replace as $old=>$new) $text = str_replace($old,$new,$text);  
    return $text ;  
    }  
    if(isset($_POST['submit'])) {  
    $result = mysql_query("select max(`time`), max(`banned`) from `shout` where `ip` = '".$_SERVER['REMOTE_ADDR']."'");  
    $result = mysql_fetch_array($result);  
    $name = filter(wordwrap(htmlspecialchars($_POST['name']),25,'<br />',1));  
    $message = filter( substr( wordwrap( nl2br( htmlspecialchars($_POST['message'])),32,'<br />',1),0,250));  
    if (((time() - $result[0]) > 1) && ($result[1]!=1))  
    mysql_query("insert into shout(`name`,`time`,`message`,`ip`) values('$name','".time()."','$message','".$_SERVER['REMOTE_ADDR']."')");  
    else echo "<div style=\"background-color:#99CCFF;\"><h2>Slow down!</h2 ></div>";  
    }  
    $resultSet = mysql_query("select `name`, `time`, `message` from `shout` order by `time` desc limit 7");  
    while ($record = mysql_fetch_assoc($resultSet))  
    echo "<div><h1>".$record['name']." - ".date("H:i",$record['time'])."</h1>\n".$record['message']."</div>" ;  
    ?>  
    <form method="post" name="shout">  
    <input name="name" type="text" value="" size="23" maxlength="20"><br />  
    <textarea name="message" cols="20" rows="5" maxlength="100"></textarea><br />  
    <input name="submit" type="submit" value="submit">  
    </form> 
    </body></html>
    اياك تئول انه ما اشتغل معاك ده كمان

    تحياتي
    ايمن جوجل





    __________________
    بتفرج بس





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

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

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