2013-01-12 53 views
0

我試圖複製我以前一直使用的web服務。它從一個mySQL數據庫獲取數據,然後用json迴應它。它以前曾經工作過很多次,但現在我似乎無法完成它的工作。在json中只有幾個數據庫列中的一個空

我的數據庫建立這樣的(我知道這是在瑞典,但希望你得到它):

# Kolumn Typ Kollationering Attribut Null Förvalt 
1 id int(11)   Nej Inget AUTO_INCREMENT  
2 desk text utf8_swedish_ci  Ja NULL 
3 info varchar(4) utf8_swedish_ci  Ja NULL 

然後我的PHP頁面設置是這樣的:

$query = "SELECT * 
FROM `$table` 
LIMIT 100 
"; 
$result = mysql_query($query,$conn) or die('Errant query: '.$query); 

$posts = array(); 
if(mysql_num_rows($result)) { 
while($post = mysql_fetch_assoc($result)) { 
    $posts[] = array('post'=>$post); 
} 
} 

header('Content-type: application/json'); 
echo json_encode(array('posts'=>$posts)); 

的結果我越來越奇怪:

{"posts":[{"post":{"id":"1","desk":"blablabla","info":"4353"}},{"post": {"id":"2","desk":**null**,"info":"3413"}}]} 

我得到一個空的結果,我真的有數據庫中的東西,它似乎與瑞典語中的「ääö」-chars有關,但這從來都不是問題。我實際上嘗試從另一個數據庫中導出一個表,我嘗試了同樣的事情,直到我開始輸入新的值。

有什麼想法?

編輯:這是數據庫中的兩個值。

desk info 
fragannanananana 4353 
arhåaöafghsgjädsiahäkömgdsjnö 3413 
+0

這個沒有解決方案?即時通訊有同樣的問題,但有一些葡萄牙語文本我已經存儲在我的一個記錄。 –

+0

我不記得我是如何解決這個問題的,但是上次我使用這個web服務時,我通過iPhone應用程序添加到數據庫中,然後將其更改爲「正確」字符。然後,當我有一個正確的字符集的PHP頁面,它通常打印它。對不起,我不能給出更好的答案。 –

+1

我解決了它。只需要添加 mysql_query('SET CHARACTER SET utf8'); 它的工作就像一個魅力! –

回答

1

我解決了它。只需要添加mysql_query('SET CHARACTER SET utf8');它就像一個魅力!

相關問題