NSString декларация - PullRequest
       5

NSString декларация

1 голос
/ 25 ноября 2011

Я использую базу данных SQLite в своем приложении, и мне нужно получить данные из таблицы (UTF8 Cyrilic).Я пробовал 2 метода это

NSString *aName = [NSString stringWithFormat:@"%s",(char *)sqlite3_column_text(compiledStatement, 1)];

и

NSString *aName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(compiledStatement, 1)];

это.Первый получает данные из таблицы, но с неправильной кодировкой.Второй не дает мне никакого результата, и консоль показывает

*** Завершение приложения из-за необработанного исключения 'NSInvalidArgumentException', причина: '***?> [NSString stringWithUTF8String:]: NULLcString '

Где я должен искать проблему и как правильно работать с кодировками?

1 Ответ

0 голосов
/ 25 ноября 2011

Попробуйте

const char* str = (const char*)sqlite3_column_text(compiledStatement, 1)]
NSString* string = [NSString stringWithCString:str encoding:NSUTF8StringEncoding];

И убедитесь, что вы сохраняете дату тем же способом:

const char* str = [string cStringUsingEncoding:NSUTF8StringEncoding];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...