2012-02-13 45 views
4

您好我在sqlite的如何正確讀取和打印SQLite中的重音字符?

在數據庫中創建一個iPhone應用程序的數據庫有一句話奶油(含特殊字符(E)

但使用select語句它顯示在日誌

檢索這個詞時,

enter image description here

和在表視圖細胞

enter image description here

那麼如何在tableview單元格中打印特殊字符「è」?

+0

嘗試是這樣的:'海峽= [NSString的stringWithUTF8String: 「E」];'其中E可以通過任何其他的char * – 2012-02-13 11:50:51

+0

HTTP:// WWW。 fileformat.info/info/unicode/char/221a/index.htm – 2012-02-13 11:51:59

+0

\ U00e8 http://www.fileformat.info/info/unicode/char/e8/index.htm – 2012-02-13 11:56:10

回答

4

使用這個從數據庫中獲取的數據 -

NSString *col1 = [NSString stringWithCString:(char *)sqlite3_column_text(compiledStatement, 0) encoding:NSUTF8StringEncoding]; 

,並顯示一個UILabel的COL1。

不要相信上的NSLog它會顯示unicode字符作爲\ U221a或這樣的事情..只是通過這些字符串的UILabel,你是好去

+0

爲我工作。謝謝。 – Tidane 2013-05-12 18:16:10

+0

輝煌,謝謝! – user3079872 2017-03-31 14:53:06

2

您必須將字符串轉換爲一個CString在拉丁編碼,然後再改CString對象爲UTF-8

NSString *notes = [item objectForKey:@"notes"] ; 

const char *n_c_string =[notes cStringUsingEncoding:NSISOLatin1StringEncoding];   
NSString *n = [NSString stringWithCString:notes_c_string encoding:NSUTF8StringEncoding]; 
相關問題