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
這個沒有解決方案?即時通訊有同樣的問題,但有一些葡萄牙語文本我已經存儲在我的一個記錄。 –
我不記得我是如何解決這個問題的,但是上次我使用這個web服務時,我通過iPhone應用程序添加到數據庫中,然後將其更改爲「正確」字符。然後,當我有一個正確的字符集的PHP頁面,它通常打印它。對不起,我不能給出更好的答案。 –
我解決了它。只需要添加 mysql_query('SET CHARACTER SET utf8'); 它的工作就像一個魅力! –