【发布时间】:2012-01-06 13:27:33
【问题描述】:
我在我的应用程序中使用 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'
我应该在哪里搜索问题以及如何正确使用编码?
【问题讨论】:
-
将语句分成两部分以简化调试。首先将 sql 放入
unsigned char *,然后放入NSString *。 -
您确定该列不为空吗?
标签: objective-c ios sqlite nsstring