gpt4 book ai didi

iphone - 防止 sqlite 转义反斜杠

转载 作者:行者123 更新时间:2023-12-03 21:00:24 27 4
gpt4 key购买 nike

我在 sqlite 数据库中有一个 varchar 列。特定的文本行有一个反斜杠,它与“\n”一起用于 UITextView 中的回车符。当通过 SELECT 从数据库读取值时:

myobject.text = [NSString stringWithUTF8String: (char *)sqlite3_column_text(selectstmt, 2)];

反斜杠被转义,看起来像:

"\\n" rather than "\n"

这不会解释为回车符。如果我在文本中添加两个黑斜杠,第二个斜杠也会被转义,并最终在将 TextView 添加为 subview 时导致异常:

由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[ setValue:forUndefinedKey:]:此类不符合键测试的键值编码。”

有没有办法防止这些逃逸或者我需要手动清理它?

最佳答案

反斜杠无疑就在列的文本中——您“看到”它是双倍的,因为这就是反斜杠的显示方式(以避免与转义序列混淆)。 sqlite 不会改变您在查询时放入其中的文本 - 但可以说,数据库中的文本并不是您想要接收的文本。

您需要做的是将两个字符反斜杠-n更改为单个字符换行符,并且您可以在数据库中(一劳永逸,或在每个查询中)进行更改或在您的 Objective-C 代码中(针对每个查询),具体取决于您的具体需求。

关于iphone - 防止 sqlite 转义反斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/932396/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com