Как правильно прочитать и распечатать акцентированный символ из SQLite? - PullRequest
4 голосов
/ 13 февраля 2012

Привет! У меня есть база данных приложений для iPhone, созданная в sqlite

в базе данных есть слово крем (со специальным символом (è)

но при получении этого слова с помощью оператора select оно показывается как в журнале

enter image description here

и в ячейке табличного представления

enter image description here

как печатать специальный символ "è" в ячейке табличного представления?

Ответы [ 2 ]

4 голосов
/ 13 февраля 2012

используйте для получения данных из базы данных -

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

и отобразить col1 в UILabel.

Не верьте, что в NSLog он покажет символы Юникода как \ U221a или что-то в этом роде ... просто передайте эти строки UILabel, и вы готовы идти

2 голосов
/ 07 августа 2012

Вы должны преобразовать строку в 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];
...