NSString声明

时间:2011-11-25 18:21:57

标签: objective-c ios sqlite nsstring

我在我的应用程序中使用SQLite数据库,我需要从表中获取数据(UTF8 Cyrilic)。我尝试了2种方法

NSString *aName = [NSString stringWithFormat:@"%s",(char *)sqlite3_column_text(compiledStatement, 1)];

NSString *aName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];

此。第一个从表中获取数据但编码错误。第二个没有给我任何结果和控制台节目

  

***由于未捕获的异常'NSInvalidArgumentException'终止应用,原因:'***?> [NSString stringWithUTF8String:]:NULL cString'

我应该在哪里搜索问题以及如何正确处理编码?

1 个答案:

答案 0 :(得分:0)

尝试

const char* str = (const char*)sqlite3_column_text(compiledStatement, 1)]
NSString* string = [NSString stringWithCString:str encoding:NSUTF8StringEncoding];

确保您使用相同的方法存储日期:

const char* str = [string cStringUsingEncoding:NSUTF8StringEncoding];