2012-10-30 223 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