2010-05-03 131 views
1

我從一個sqlite數據庫讀取到我的iPhone應用程序。在文本中,有時會出現特殊字符,如'xf2'或'xe0',正如我在調試器中看到的char *數據類型。當我嘗試通過使用initWithUTF8String將字符轉換爲NSString對象時,我得到了一個零。來自SQLite DB的特殊字符

如何轉換這些特殊字符?

回答

0

它看起來像編碼問題。當您使用©或®等符號時,您可以獲得'xf2'或'xe0'。這些符號需要2個字節,並且sqlite可以將符號的每個字節解釋爲單獨的符號。
所以,儘量不要使用initWithUTF8String,但initWithCString:

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