2012-08-14 75 views
0

我使用jQuery在PHP中運行函數以從數據庫獲取數據。ñ返回null - jQuery en PHP

 $.ajax({ 
      url: 'service.php', 
      data: { functie: type, param: radiobutton }, 
      dataType: 'json', 
      success: function (data) {} 
     }); 

一切正常。除了具有特殊字符的字符串在succes函數中返回爲null。例如:正

這個答案就在這裏解釋: Special characters break json returned to jQuery

但它不爲我工作。

在PHP我想:

$result = mysql_query("SELECT * FROM wines"); 
$array = array(); 

while($row = mysql_fetch_assoc($result)){ 
    $array[]=htmlentities($row); 
} 

誰知道如何確保一切回報的好方法?

+0

閱讀:[處理Unicode的前向後在一個Web應用程序](http://kunststube.net/frontback/) – deceze 2012-08-14 12:15:48

回答

1

在你的while語句中,你在數組上使用htmlentities而不是字符串(數組中的每個鍵都是數據庫中的一列)。

你可以做以下任一操作:

使用array_map

while($row = mysql_fetch_assoc($result)){ 
    $array[] = array_map("htmlentities", $row); 
} 

或更改您while循環:

while($row = mysql_fetch_assoc($result)){ 
    foreach ($row as $key => $value) { 
     $row[$key] = htmlentities($value); 
    } 
    $array[] = $row; 
}