当字符串包含空格时,App不会更新数据库

时间:2012-02-08 15:03:58

标签: mysql ios database contacts space

我遇到了一个奇怪的问题。我构建了一个mysql数据库,用户可以通过应用程序存储他的联系人。他只需点击按钮即可添加联系信息。然后,将数据添加到数据库中。

但是,当联系人的信息在他的名字,姓氏或号码之间有空格时,应用程序拒绝接受数据。我没有收到错误消息或类似的东西,但我也没有得到任何确认。该记录在数据库中不存在。

我的php文件没有问题(文件肯定是正确的,我在这里检查了两次)。 这是我的代码:

NSString *strURL = [NSString stringWithFormat:@"http://www.abc.com/phpFile.php?number=%@&name=%@&lastname=%@", number, firstName, lastName];

NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

        NSLog(@"%@", strResult);

2 个答案:

答案 0 :(得分:5)

URI中不允许使用空格字符。使用%20编码空格。还有其他字符也不允许作为URI的一部分。查找URI编码。

答案 1 :(得分:2)

NSString *strURL = [NSString stringWithFormat:@"http://www.abc.com/phpFile.php?number=%@&name=%@&lastname=%@", number, firstName, lastName];
strURL  = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]

NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
        NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];

        NSLog(@"%@", strResult);