sqlite + NSString UTF8注意点

1391阅读 0评论2009-11-19 xw_max
分类:

从sqlite中读取数据给NSString,尽量不要使用下面的形式:
   foodInfo.m_row = [NSString stringWithFormat:@"%s",(char*)sqlite3_column_text(statement, 2)];

而应该使用:
   fullTitle=[NSString stringWithUTF8String:(char *)sqlite3_column_text(statement, 0)];

第一种形式在读取汉字字符串如"苹果"时,会读取并显示成乱码.

此外,在设计数据库时,要尽量给字段加上默认值,如
[ShowDate] [DATETIME] NULL DEFAULT CURRENT_TIMESTAMP
[Tip] [TEXT] NULL DEFAULT '',
[VideoLength] Integer DEFAULT 0

特别是对于TEXT的默认值,可以避免使用stringWithUTF8String:NULL 时,导致的crash.

上一篇:应用程序在iPhone上的安装位置
下一篇:NSURL example / sample code