如何正确保存和显示像\ udc3b这样的表情符号推文

时间:2015-08-07 07:19:01

标签: php mysql api twitter utf-8

第一次使用Twitter API,到目前为止,其他社交api已经轻而易举,我提出请求并恢复已经嵌入了表情符号的状态,但出于某种原因,Twitter似乎是做一些时髦的事。这是我得到的:

"新学校,新机会,新人#ThisIsOU \ u26ab \ ufe0f \ ud83d \ udc9b \ ud83d \ udc3b"

最终目标是成功将这些推文保存在数据库中,并最终在ios客户端中显示它们。寻找一个5岁的解释可以理解,因为我对编码一无所知。

3 个答案:

答案 0 :(得分:1)

据我所知,这些\ u ...是在文本中表示表情符号的正确方法。当您在iOS客户端上呈现它时,它应该正确打印出来(例如,使用表情符号)。

请参阅此链接:How to display the emoji and special characters in UIlabel and UItextviews?

答案 1 :(得分:0)

要在MySQL中正确存储,请不要使用\ uxxxx代码(unicode)。请使用CHARACTER SET utf8mb4。做SET NAMES utf8mb4或同等的。在PHP中,使用

中的额外参数
$t = json_encode($s, JSON_UNESCAPED_UNICODE);

答案 2 :(得分:0)

我这样做是为了摆脱表情符号问题

NSMutableDictionary* parameters = [[NSMutableDictionary alloc] init];
    NSData *data = [commentText dataUsingEncoding:NSNonLossyASCIIStringEncoding];
    NSString *emojiToUnicode = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];


    [parameters setObject:emojiToUnicode forKey:@"appUserComment"];