2012-02-20 143 views
1

所以我做了一个文本字段,在那里我可以搜索网页或谷歌。问题是,我无法在google上搜索多个单词:例如,我可以搜索Stackoverflow,但无法搜索Stackoverflow问题。这里的代码:在谷歌搜索

{ 

if ([textField.text hasPrefix:@"http"]){ 
    url=[NSURL URLWithString:[textField text]]; 
    request = [NSURLRequest requestWithURL:url]; 
    [webView loadRequest:request]; 
    }else{ 
     stringOne = @"http://www.google.com/search?q="; 
     NSString *stringTwo = TextField.text; 
     NSString *googleSearchString =[stringOne stringByAppendingString:stringTwo]; 
     NSURL *google = [NSURL URLWithString:googleSearchString ]; 
     request = [NSURLRequest requestWithURL:google ]; 
     [webView loadRequest:request]; 
    } 
} 

谢谢你的帮助!

回答

3

您的字符串可能无法正确编码。也许尝试:

NSString* newGoogleSearchString = 
      [googleSearchString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]; 
+0

它的工作原理!非常感谢!我正在为这个问题寻找解决方案,我花了太多时间搜索它!再次感谢你! – Adri 2012-02-20 19:14:42

2

如果你在浏览器中看到的网址,你会看到这样的事情:

http://www.google.com/search?client=safari&rls=en&q=Stackoverflow+questions&ie=UTF-8&oe=UTF-8 

是重要的参数是& Q =#1 +问题,注意代表空间的'+'号。

所以,如果你想要你的代码工作,你必须用'+'字符替换空格。