2013-12-24 2 views
0

Я создал небольшой пример JQuery с JQuery UI автозаполненияJQuery UI автозаполнения специальные символы

$(function() { 
    //autocomplete 
    $(".selector").autocomplete({ 
     source: "getdata.php", 
     minLength: 1 

    }); 
}) 

getdata.php:

<?php 
if (isset($_GET['term'])){ 
    $return_arr = array(); 

    try { 
     $connectionInfo = array('Database'=>'db','UID'=>'sa','PWD'=>'pw'); 
     $connection = sqlsrv_connect('db-server',$connectionInfo); 

     if($connection) 
     { 
      $result = sqlsrv_query($connection, 'SELECT TOP 10 test FROM table WHERE test like ? ',array('%'.$_GET['term'].'%')); 
      while($row = sqlsrv_fetch_array($result)){ 
       $row = array_map('utf8_encode', $row); 
       $return_arr[] = $row['test']; 
      } 
     } 
    } 
    catch(PDOException $e) { 
     echo 'ERROR: ' . $e->getMessage(); 
    } 



    /* Toss back results as json encoded array. */ 
    echo json_encode($return_arr); 
} 
?> 

и он работает, но проблема заключается в том, что источник данных не Unicode, поэтому строки не отображаются правильно. Я не знаю, какое преобразование использовать.

Если это возможно, я хотел бы сохранить ту же кодировку, в базе данных (Windows-1250), так как этот проект может также вставить материал обратно с веб-сайта в БД

Я пытался просто сбросить оригинальные строки, а затем Я получаю значение со специальными символами, как нуль в JSON, когда возвращение массив прибудет преобразил

ответ

0

Вы можете кодировщик данных перед отображением его в автозаполнениях

+0

Спасибо за ваш ответ, и я действительно пытался baes64 ecode строки, прежде чем положить их в json, но я не знаю, какое событие «jquery .ui.autocomplete» использовать для их декодирования раньше они отображаются – Jester

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