CFURLCreateStringByAddingPercentEscapes在换行符时崩溃应用程序

时间:2010-09-13 19:28:25

标签: iphone objective-c

代码:

NSString* string3 = (NSString*)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)tvQ.text, NULL, (CFStringRef)@":/?#[]@!$&'()*+,;=", kCFStringEncodingUTF8);

我的代码正在努力通过URL将特殊字符正确传递到我的数据库,但是,如果我使用换行符插入数据,它似乎会破坏我的应用程序并崩溃。有什么想法吗?

**代码由用户“tc”提供给我。从上一个问题。这是一个不同的问题,所以我开始提出一个新问题。

找出答案:

NSString* encoded = [[string stringByReplacingOccurrencesOfString:@"\n" withString:@" "] stringByReplacingOccurrencesOfString:@"ç" withString:@"c"];
NSString* string3 = [(NSString*)CFURLCreateStringByAddingPercentEscapes(NULL, (CFStringRef)encoded, NULL, (CFStringRef)@":/?#[]@!$&'()*+,;=", kCFStringEncodingUTF8) autorelease];

2 个答案:

答案 0 :(得分:1)

也许你应该在调用CFURLCreateStringByAddingPercentEscapes之前解析字符串......

一个好主意可能是使用NSMutableString的方法

replaceOccurrencesOfString:withString:options:range:

答案 1 :(得分:0)

  1. NSString class reference内,有一个名为的部分 使用网址

    • stringByAddingPercentEscapesUsingEncoding:
    • stringByReplacingPercentEscapesUsingEncoding:
  2. url的参数按以下形式工作:

    param1 = value1& param2 = value2 ....

    您的没有任何价值,也许应该从参数列表中删除。