2017-08-14 5 views
0

la chaîne ci-dessous arrive au serveur en Gibberish au lieu de l'hébreu, aidez s'il vous plaît, voici à quoi ressemble mon code (je reçois une longue chaîne et insère chaque partie à la DB)? Par exemple le nom insert as; × œ × ™ × ¨ × × Ÿ × ž » × § × • × ¨ × »PHP support hébreu

 <?php 

    $data_to_server = $_POST['data_to_server']; 
    $length = $_POST['length']; 

    $servername = ""; 
    $username = ""; 
    $password = ""; 
    $dbname = ""; 

    $conn = new mysqli($servername, $username, $password, $dbname); 

    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $users_list = $data_to_server; 

    $users_list = str_replace(array("phone:","name:","event_id:"),array("","",""),$users_list); 

    //$users_num = 4; 
    $sql_str = "INSERT INTO invite_list (phone,name,event_id) VALUES "; 


    for ($i=0; $i<$length; $i++){ 

     $temp_list = ""; 
     $temp_list = substr($users_list, 0, strpos($users_list, '/')); 
     $users_list = str_replace($temp_list."/","",$users_list); 
     $sql_str = $sql_str . "(" . $temp_list; 


     if ($i < $length-1) 
      $sql_str = $sql_str . "),"; 
     else 
      $sql_str = $sql_str . ");"; 
    } 

    $sql = $sql_str; 

if ($conn->query($sql) === TRUE) { 
    echo json_encode(array("Result"=>"success")); 

} else { 
    echo json_encode(array("Result"=>"failed")); 
} 

$conn->close(); 
+0

Votre requête est vulnérable aux attaques par injection Mysql. Je recommande de lire sur comment utiliser [instructions préparées] (http://php.net/manual/fr/mysqli.quickstart.prepared-statements.php) – IsThisJavascript

+0

Ceci est seulement pour le test et l'exemple –

Répondre

1

Il ne peut pas être PHP qui est d'avoir la question; Vérifiez également que MySQL utilise une connexion UTF8 et que les tables (et les colonnes) sont en UTF8.

+0

il est défini comme utf8 –