iphone sqlite3_column_text问题

时间:2010-03-12 11:13:26

标签: iphone string utf-8 sqlite

我在sqlite3表中有一个列。列的值类似于

1½“

1¾“

2½“等 列具有VARCHAR数据类型。

我正在使用此代码。

pref_HoseDiameter = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 2)]; 

现在,当我从数据库中获取这些值时,我得到pref_HoseDiameter字符串值,如下所示:

1 1/2“

1 3/4“

2 1/2“

如何获取数据库中的值或如何转换它们看起来像数据库值。

帮助将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:2)

尝试使用sqlite3_column_text16将字符串作为UTF-16,然后使用+stringWithCharacters:创建字符串。

const UInt16* text = sqlite3_column_text16(statement, column);
int text_len = // find the first 0x0000 in text;
NSString* str = [NSString stringWithCharacters:text length:text_len];