慢慢地,但肯定地,我觉得我要疯了。在解决我的问题并且应用程序现在也接受空格后,它仍然不会将包含空格的数据添加到我的 mysql 数据库中。这是代码:
NSString *strURL = [NSString stringWithFormat:@"http://www.bbc.com/phpFile.php?number=%@&name=%@&lastname=%@", number, firstName, lastName];
NSString *webStringURl = [strURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:strURL]];
NSString *strResult = [[NSString alloc] initWithData:dataURL encoding:NSUTF8StringEncoding];
NSLog(@"%@", strResult);
NSLog(@"%@", webStringURl);
NSLog 甚至告诉我它完全按照我告诉他的去做:
ProjectX[4003:15203] http://www.bbc.com/phpFile.php?number=11166&name=Yong%20Wang%20Ding&lastname=Blamblam
每当变量不包含空格时它都有效。当我在浏览器中打开 php 文件并手动输入变量(带空格)时,它会将它们添加到我的数据库中。我不知道为什么它在对我的应用执行完全(?)相同的操作时拒绝工作。
最佳答案
除了最后的 NSLog 语句之外,您似乎没有在其他任何地方使用 webStringURl(原文如此)。你确定你不是故意写的吗:
NSData *dataURL = [NSData dataWithContentsOfURL:[NSURL URLWithString:webStringURl];
...第三行?
目前,您正在对未转义版本的 URL(可能仍包含空格)调用 dataWithContentsOfURL。
关于mysql - 当字符串包含空格时,应用程序仍未更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9197074/