2011-04-25 217 views
0

我正在製作一個android應用程序,需要獲得一個4列的表,1列是從遠程數據庫到BLOB格式的圖像到sqlite數據庫。現在我可以通過JSON獲取除圖像列以外的所有信息。但圖像總是以無效形式出現。我的PHP頁面的代碼是從遠程數據庫獲取數據到sqlite數據庫

$ q = mysql_query(「SELECT * From Table WHERE FID>'」。$ _ REQUEST ['FID']。「'」); while($ e = mysql_fetch_assoc($ q)) $ output [] = $ e;

print(json_encode($ output));

mysql_close(); ?> 在此先感謝。

回答

1

沒有數據庫,很難確定 - 表的模式是有用的。

首先,我會檢查相同查詢的mysql(命令行)輸出,以查看它是否在數據庫中爲空。其次,您需要將圖像數據轉換爲UTF8友好格式 - base64會執行此操作。按照json_encode文檔爲領域:

此功能只適用於UTF-8編碼 數據。

編輯

  • 將BLOB編碼爲Base64,在PHP結束在相關領域使用base64_encode
  • 向該JSON字段進行解碼回在Android應用一個byte [],用Base64.decode
+0

確定我已經驗證的圖像是在那裏與剛剛FID和圖像作出了新的表,但JSON是[{「FID」:「1」,「Image」:null}]等等。那麼我怎樣才能將它按摩爲UTF8格式?感謝你目前的幫助。 – 2011-04-25 05:44:37

+0

我會將其編輯到答案中。 – 2011-04-25 06:09:02

+0

謝謝,我敢肯定,我知道如何通過base64解碼到android ap,但我是一個完整的初學者,所以我想知道如何隔離圖像編碼它在我的PHP文件? – 2011-04-25 19:29:21