如何将表情符号保存到数据库中?

How to save an emoji into database?

我有一个包含这个表情符号的字符串,我想将它存储到 sqlite 数据库中,这个字符串来自服务器,该字符串可以组合,只有表情符号,表情符号 + 文本,只有文本。如何处理和存储从服务器获取的每个字符串。

我已经编写了代码,用于存储/检索数据库中的文本,并且工作正常。但是当我在文本中得到一个表情符号时,它改变了输出,而不是一个表情符号,它向我显示了一些像这样的随机字符,üÜé。

如何处理这种情况?

按照这个answer

SQLite always stores text data as Unicode string.

以前我是这样检索文本的,

NSString *text = [NSString stringWithFormat:@"%s",sqlite3_column_text(statement, 0)];

我改成了这样,

NSString *text = [NSString stringWithUTF8String:(const char *)sqlite3_column_text(statement, 0)];

现在工作正常。

您可以在 utfstring 中将表情符号发送到服务器,为了在文本字段中显示表情符号,您可以在 viewdidload.in 中将该字符串更改为 nonlossyasciistringencoding 这样您就可以显示表情符号。