2009-11-03 4 views
0

Я пробовал много вещей, я не могу отображать многострочные тексты из базы данных в uitextview, появляются символы \ n, поскольку они вместо этого создают новые строки.многострочный текст, sqlite и uitextview, не работает

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

Проблема должна быть здесь, потому что если я жестко кодирую nsstring с некоторыми \ n, они работают.

Я также попытался заменить \ n чем-то другим, только для тестирования. Символы \ n не заменяются вообще

NSString *aDescription = [aDescription2 stringByReplacingOccurrencesOfString:@"\n" withString:@"-------"]; 

Что происходит? Благодарю.

ответ

1

Вы пробовали другую кодировку, а не NSUTF8StringEncoding?

Похоже, что символ новой строки заменяется чем-то другим, кроме новой строки, и ваш stringByReplacing не может найти их, так как ищет новую строку. Я подозреваю, что, возможно, NSUTF8StringEncoding ускользнет от вашего \ и n, чтобы вы получили эти два символа вместо новой строки.

+1

Я пробовал почти все кодировки, но вы правы с чем-то, \ было экранировано, так что теперь я заменяю \\ n вместо \ n, с \ n и работает. В любом случае, если есть другое решение, не заменяя случаев, я бы хотел услышать. Может быть, что-то не так с базой данных? –

+0

Я не удивлюсь, если в базе данных выйдет \ n. Вы можете это проверить? – mahboudz

+0

Когда я создаю sqlite, я выполняю sql-запросы с помощью команды .read из базы данных, экспортированной из phpmyadmin. каждая новая строка представляется с помощью \ r \ n. Кто-то предложил сделать что-то вроде этого: вставить в значения t ('ana are' || x'0a '||' mere '); Я попробую это скоро. –

 Смежные вопросы

  • Нет связанных вопросов^_^