我遇到了一个奇怪的问题。我构建了一个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);
答案 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);