【问题标题】:multiline text, sqlite and uitextview, is not working多行文本、sqlite 和 uitextview 不起作用
【发布时间】:2009-11-03 21:14:11
【问题描述】:

我尝试了很多东西,我无法将数据库中的多行文本显示到 uitextview 中,\n 字符显示为它们正在创建新行。

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

问题一定出在这里,因为如果我用一些 \n 对 nsstring 进行硬编码,它们就可以工作。

我还尝试将 \n 替换为其他内容,仅用于测试。 \n 字符根本不会被替换

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

发生了什么事?谢谢。

【问题讨论】:

    标签: iphone sqlite nsstring uitextview


    【解决方案1】:

    您是否尝试过不同的编码,而不是NSUTF8StringEncoding

    似乎换行符正在被换行符以外的东西替换,而您的stringByReplacing 找不到它们,因为它正在寻找换行符。我怀疑NSUTF8StringEncoding 可能正在转义您的\n,以便您得到这两个字符而不是换行符。

    【讨论】:

    • 我尝试了几乎所有的编码,但你说得对,\ 被转义了,所以现在我用 \n 替换 \\n 而不是 \n 并且可以工作。无论如何,如果有另一种解决方案而不替换我想听到的事件。可能是数据库有问题?
    • 如果数据库转义\n,我不会感到惊讶。你能检查一下吗?
    • 当我创建 sqlite 时,我正在使用从 phpmyadmin 导出的数据库中的 .read 命令执行 sql 查询。每个新行都用 \r\n 表示。有人建议这样做: insert into t values('ana are' || x'0a' || 'mere');我会尽快尝试。
    猜你喜欢
    • 1970-01-01
    • 2014-03-19
    • 2018-05-06
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多