2012-10-30 135 views
4

我們已經實現了一個iPhone應用程序,它使用Facebook聊天,部分通過xmpp,部分通過facebook圖形API。Facebook聊天API和表情

一切都很好,直到它表情符號。當我們在iPhone上輸入表情符號時,我們會在顯示屏上看到正確的表情符號。

但是,我們從facebook獲得的消息是一些其他轉義序列,因爲我們通過xmpp發送到Facebook。

這裏有一個例子:

<message type="chat" to="[email protected]"><body></body></message> 

當我們回顧從Facebook該消息我們得到follwing:

{ 
"author_id" = someID; 
body = "\Uf637"; 
"created_time" = 1351607849; 
"message_id" = "someID_41"; 
"thread_id" = someID; 
} 

這裏是我們的FQL-聲明 我們通過XMPP發送以下XML消息:

@"SELECT message_id, author_id, thread_id, created_time, body FROM message WHERE thread_id = %@" 

但爲什麼Facebook轉換emo ticon,在網站上的Facebook聊天中正確顯示? 關於這個問題的任何想法?

問候, 丹尼爾

回答

3

返回的文字(如「\ Uf637」你的樣品中)是表情的Unicode表示。 Facebook的數據庫不會以完整形式存儲表情符號,它們會轉換爲unicode,並在Facebook應用上顯示時轉換回表情符號形式。使用Chat API時,您可能必須在自己的應用中執行相同的操作(對於找到的所有unicode表情符號字符串,將其轉換爲實際表情符號)。這裏是與他們匹配的表情符號的unicode代碼的完整列表:http://www.unicode.org/charts/PDF/U1F600.pdf

+0

謝謝,這有很大的幫助。 – Grinarn