SQLite DB中的特殊字符

时间:2010-05-03 12:42:53

标签: iphone objective-c sqlite

我从sqlite db读到我的iphone应用程序。在文本中有时会出现像'xf2'或'xe0'这样的特殊字符,我可以在char *数据类型的调试器中看到。当我尝试使用NSString将字符转换为initWithUTF8String对象时,我得到了一个零。

如何转换这些特殊字符?

1 个答案:

答案 0 :(得分:0)

看起来像编码问题。当您有诸如©或®等符号时,可以获得'xf2'或'xe0'。这些符号需要2个字节,sqlite可以将符号的每个字节解释为单独的符号 所以,尝试不使用initWithUTF8String,而是使用initWithCString:

NSString *stringFromDB = [[NSString alloc] initWithCString:charsArrayFromDB 
                                                  encoding:NSASCIIStringEncoding];