2010-05-03 6 views
1

Я прочитал из sqlite db в своем приложении iphone. В тексте иногда есть специальные символы, такие как «xf2» или «xe0», как я могу видеть в отладчике в типе данных char *. Когда я пытаюсь преобразовать символы в объект NSString, используя initWithUTF8String, я получаю нуль назад.Специальные символы из SQLite DB

Как я могу преобразовать такие специальные символы?

ответ

0

Это похоже на проблему с кодировкой. Вы можете получить «xf2» или «xe0», если у вас есть такие символы, как © или ®. Эти символы нуждаются в 2 байтах, и sqlite может интерпретировать каждый байт символа как отдельный символ.
Итак, попробуйте использовать не initWithUTF8String, но initWithCString:

NSString *stringFromDB = [[NSString alloc] initWithCString:charsArrayFromDB 
                encoding:NSASCIIStringEncoding]; 
Смежные вопросы