2015-06-01 2 views
2

У меня этот код работает нормально, мое приложение получает данные с json и все в порядке, но когда я вставляю специальные символы, такие как ñ, которые мне нужно получить, я не могу мне сказали, что я должен использовать utf8_encode, но я просто не знаю, как его применять здесь.Как передать специальные символы через php из базы данных mssql

<?php 
    require_once(dirname(__FILE__).'/ConnectionInfo.php'); 


    //Set up our connection 
    $connectionInfo = new ConnectionInfo(); 
    $connectionInfo->GetConnection(); 

    if (!$connectionInfo->conn) 
    { 
     //Connection failed 
     echo 'No Connection'; 
    } 

    else 
    { 
     if (isset($_POST['mod']) && isset($_POST['lec']) && isset($_POST['clase'])) 
     { 
     $mod = $_POST['mod']; 
     $lec = $_POST['lec']; 
     $clase = $_POST['clase']; 
     //Create query to retrieve all contacts 
     $query = 'SELECT TituloEjercicio,PreguntaEjercicio,Opcion1Ejercicio,Opcion2Ejercicio,Opcion3Ejercicio,Opcion4Ejercicio,EstaCorrectaEjercicio FROM ejercicios WHERE QueModulo = ? and QueLeccion = ? and Queclase = ?'; 
     $params = array($mod,$lec,$clase);  
     $stmt = sqlsrv_query($connectionInfo->conn, $query,$params); 

     if (!$stmt) 
     { 
      //Query failed 
      echo 'Query failed'; 
     } 
     else 
     { 
      $contacts = array(); //Create an array to hold all of the contacts 
      //Query successful, begin putting each contact into an array of contacts 

      while ($row = sqlsrv_fetch_array($stmt,SQLSRV_FETCH_ASSOC)) //While there are still contacts 
      { 
       //Create an associative array to hold the current contact 
       //the names must match exactly the property names in the contact class in our C# code. 
       $contact = array("lbl_variable_cuestionario_titulo" => $row['TituloEjercicio'], 
           "lbl_variable_pregunta" => $row['PreguntaEjercicio'], 
           "opcion1" => $row['Opcion1Ejercicio'], 
           "opcion2" => $row['Opcion2Ejercicio'], 
           "opcion3" => $row['Opcion3Ejercicio'], 
           "opcion4" => $row['Opcion4Ejercicio'], 
           "EstaCorrecta" => $row['EstaCorrectaEjercicio'] 
           );           
       //Add the contact to the contacts array 
       array_push($contacts, $contact); 
      } 

      //Echo out the contacts array in JSON format 
      echo json_encode($contacts); 
      sqlsrv_close($connectionInfo->conn); 
     } 
     } 
     sqlsrv_close($connectionInfo->conn); 
    } 
    sqlsrv_close($connectionInfo->conn); 
?> 

ответ

0

Если ваша проблема связана с нажатием неязыковых символов в MySQL, вам просто нужно настроить базу данных для использования UTF8. Есть хорошие tutorials online, которые показывают вам, как это сделать.

+0

Я использую mssql без mysql любым способом сделать это там? –

+0

MSSQL не поддерживает UTF8, насколько мой Google-fu идет. Однако, похоже, есть способы обойти это. [Посмотрите, что вы можете узнать.] (Https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=configuring%20mssql%20utf8) –

Смежные вопросы