iOS SQLite编码问题:由于“�”字符无法检索字符串

时间:2012-01-22 18:11:41

标签: ios sqlite encoding

我不能通常使用某个字符串

    NSString *retrievedString = [NSString stringWithUTF8String:(char *)sqlite3_column_text (compiledStatement, 0)];

语句。任何其他字符串都打印得很好。当我尝试NSLog那个字符串时,它打印为“(null)”。我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

这似乎与SQLite MYSQL character encoding

中的问题类似

我的回答是尝试

int len = sqlite3_column_bytes(compiledStatement, col);
char *chars = (char*)sqlite3_column_text(compiledStatement, col);
NSString *str = [NSString stringWithUTF8String:chars length:len];

这可能会有所帮助。我能想到的唯一另一件事是,你的文字可能不是UTF8而且还有其他编码吗?