Ios 在sqlite中获取unicode格式的普通文本

Ios 在sqlite中获取unicode格式的普通文本,ios,objective-c,sqlite,unicode,Ios,Objective C,Sqlite,Unicode,我在iOS项目中使用sqlite数据库。我已经准备好了数据库,在那里我可以得到英语文本、旁遮普语文本、印地语文本和英语翻译。我正在使用以下代码从数据库中获取数据: NSMutableArray *getData = [[NSMutableArray alloc]init]; getData = [[DBManager sharedDatabase]tableBani:[NSString stringWithFormat:@"select *from TableBani"]

我在iOS项目中使用sqlite数据库。我已经准备好了数据库,在那里我可以得到英语文本、旁遮普语文本、印地语文本和英语翻译。我正在使用以下代码从数据库中获取数据:

    NSMutableArray *getData = [[NSMutableArray alloc]init];
        getData = [[DBManager sharedDatabase]tableBani:[NSString stringWithFormat:@"select *from TableBani"]];
        NSLog(@"getData..%@",getData);


but in result I am getting this from data base:

getData..(
        {
        EnglishText = "Ik\U201a\U00f1\U00b4oa\U2248\U00e2k\U0192\U00c5r sa\U00b7\U03c0\U00d8 n\U0192\U00c5m kar\U00b7\U03c0\U00d8\U0192\U00c5 purak\U00b7\U222b\U00f1 nirb\U00b7\U222b\U00f1a\U201a\U00f1\U00b4o nirvair ak\U0192\U00c5l m\U2248\U00b4ra\U00b7\U03c0\U00d8 aj\U2248\U00b4n\U0192\U00b4 saib\U00b7\U222b\U00f1a\U2248\U00e2 gur pars\U0192\U00c5\U00b7\U220f\U00e8.";
        EnglishTranslation = "One Universal Creator God. The Name Is Truth. Creative Being Personified. No Fear. No Hatred. Image Of The Undying, Beyond Birth, Self-Existent. By Guru's Grace ~";
        HindiText = "\U2021\U00a9\U00a5 \U2021\U00a7\U220f\U2021\U00a7\U00a7\U2021\U00a7\U00f8 \U2021\U00a7\U00ae\U2021\U00a7\U00e6\U2021\U00a7\U00c6\U2021\U2022\U00c5 \U2021\U00a7\U00ef\U2021\U00a7\U221e\U2021\U00a7\U00a7\U2021\U00a7\U00e6 \U2021\U00a7\U2122\U2021\U2022\U00c5\U2021\U00a7\U221e\U2021\U00a7\U00f1\U2021\U2022\U00c5 \U2021\U00a7\U00ae\U2021\U00a7\U00f8\U2021\U00a7\U221e\U2021\U00a7\U2260\U2021\U00a7\U00e2 \U2021\U00a7\U00ae\U2021\U00a7\U00f8\U2021\U00a7\U221e\U2021\U00a7\U00b5\U2021\U2022\U00e0\U2021\U00a7\U221e\U2021\U2022\U00c5 \U2021\U00a7\U00d6\U2021\U00a7\U00ef\U2021\U00a7\U00e6\U2021\U00a7\U2264 \U2021\U00a7\U00c6\U2021\U2022\U00c7\U2021\U00a7\U221e\U2021\U00a7\U00a7\U2021\U00a7\U00f8 \U2021\U00a7\U00d6\U2021\U00a7\U00fa\U2021\U2022\U00c7\U2021\U00a7\U00ae\U2021\U2022\U00c4 \U2021\U00a7\U220f\U2021\U2022\U00e0\U2021\U00a7\U2260\U2021\U00a7\U00c7 \U2021\U00a7\U00f3\U2021\U2022\U00c5\U2021\U00a7\U221e \U2021\U00a7\U2122\U2021\U2022\U00e7\U2021\U00a7\U221e\U2021\U00a7\U220f\U2021\U00a7\U00e6\U2021\U00a7\U00b6\U2021\U00a7\U00f8 \U2021\U2022\U2022";
        ID = 1;
        PunjabiText = "\U2021\U00a9\U00a5 \U2021\U00ae\U220f\U2021\U00ae\U00a7\U2021\U00ae\U00f8 \U2021\U00ae\U00ae\U2021\U00ae\U00e6\U2021\U00ae\U00c6\U2021\U00a9\U00c5 \U2021\U00ae\U00ef\U2021\U00ae\U221e\U2021\U00ae\U00a7\U2021\U00ae\U00e6 \U2021\U00ae\U2122\U2021\U00a9\U00c5\U2021\U00ae\U221e\U2021\U00ae\U00f1\U2021\U00a9\U00c5 \U2021\U00ae\U00ae\U2021\U00ae\U00f8\U2021\U00ae\U221e\U2021\U00ae\U2260\U2021\U00ae\U00e2 \U2021\U00ae\U00ae\U2021\U00ae\U00f8\U2021\U00ae\U221e\U2021\U00ae\U00b5\U2021\U00a9\U00e0\U2021\U00ae\U221e\U2021\U00a9\U00c5 \U2021\U00ae\U00d6\U2021\U00ae\U00ef\U2021\U00ae\U00e6\U2021\U00ae\U2264 \U2021\U00ae\U00c6\U2021\U00a9\U00c7\U2021\U00ae\U221e\U2021\U00ae\U00a7\U2021\U00ae\U00f8 \U2021\U00ae\U00d6\U2021\U00ae\U00fa\U2021\U00a9\U00c7\U2021\U00ae\U00ae\U2021\U00a9\U00c4 \U2021\U00ae\U220f\U2021\U00a9\U00e0\U2021\U00ae\U2260\U2021\U00a9\U221e \U2021\U00ae\U00f3\U2021\U00a9\U00c5\U2021\U00ae\U221e \U2021\U00ae\U2122\U2021\U00a9\U00e7\U2021\U00ae\U221e\U2021\U00ae\U220f\U2021\U00ae\U00e6\U2021\U00ae\U00b6\U2021\U00ae\U00f8 \U2021\U2022\U2022";
        pageNumber = 1;
    },
以下是我获取数据的DB代码:

- (NSMutableArray*) tableBani:(NSString *)_query
{
    NSMutableArray *drr=[[NSMutableArray alloc] init];
    NSString *query;
    query =_query;

    const char *sql = [query cStringUsingEncoding:NSUTF8StringEncoding];
    sqlite3_stmt *statement = nil;
    if(sqlite3_prepare_v2(dataBaseConnection,sql, -1, &statement, NULL)!= SQLITE_OK)
    {
        NSAssert1(0,@"error preparing statement",sqlite3_errmsg(dataBaseConnection));
    }
    else
    {
        while (sqlite3_step(statement) == SQLITE_ROW)
        {
            [drr addObject:[NSDictionary dictionaryWithObjectsAndKeys:

                            [NSString stringWithFormat:@"%s", (char*)sqlite3_column_text(statement,0)],@"ID",
                            [NSString stringWithFormat:@"%s", (char*)sqlite3_column_text(statement,1)],@"pageNumber",
                            [NSString stringWithFormat:@"%s", (char*)sqlite3_column_text(statement,2)],@"PunjabiText",
                            [NSString stringWithFormat:@"%s", (char*)sqlite3_column_text(statement,3)],@"HindiText",
                            [NSString stringWithFormat:@"%s", (char*)sqlite3_column_text(statement,4)],@"EnglishText",
                            [NSString stringWithFormat:@"%s", (char*)sqlite3_column_text(statement,5)],@"EnglishTranslation",


                            nil]];

        }
    }

    sqlite3_finalize(statement);

    return drr;
}
我不知道怎样才能得到旁遮普语或印地语格式的文本。请建议我如何从数据库中获取实际文本。我也尝试过用utf-8转换文本,但没有结果。请帮帮我


提前感谢。

只需尝试以下代码一次:

NSString *text = [NSString stringWithUTF8String:(char*)sqlite3_column_text(compiledStatement, 3)];

希望它能起作用。:)

您能告诉我如何显示此文本吗?我使用的是:NSData*dataenc=[string dataUsingEncoding:nsnonlossysasitringencoding];NSString*encodevalue=[[NSString alloc]initWithData:dataenc encoding:NSUTF8StringEncoding];NSLog(@“结果字符串:%@”,编码值);self.textView.text=编码值;如果我解码字符串,那么null@Muhammad这给了我一个错误。你能在上面的问题中添加“tableBani”方法吗?可能的问题是从数据库中获取数据。它会使我的应用程序崩溃。convertedString:——¥——∏‡®§‡®ø ‡®®‡®æ‡®Æ‡©Å ‡®ï‡®∞‡®§‡®æ ‡®™‡©Å‡®∞‡®ñ‡©Å ‡®®‡®ø‡®∞‡®≠‡®â ‡®®‡®ø‡®∞‡®µ‡©à‡®∞‡©Å ‡®Ö‡®ï‡®æ‡®≤ ‡®Æ‡©Ç‡®∞‡®§‡®ø ‡®Ö‡®ú‡©Ç‡®®‡©Ä ‡®∏‡©à‡®≠‡©∞ ‡®ó‡©Å‡®∞ ‡®™‡©ç‡®∞‡®∏‡®æ‡®‡ø‡••(lldb)3代表什么?不是应该是0而不是3吗?