如何将表情符号保存到数据库中?
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 这样您就可以显示表情符号。
我有一个包含这个表情符号的字符串,我想将它存储到 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 这样您就可以显示表情符号。