NSURL load不到search query

NSURL load不到search query:2011年04月04日星期一

設定search engine string,例如:http://www.google.com/search?q=query(query內為八卦), 用q=query語法後,[myWebView loadrequest:request];竟load不到search結果。

原因:query並非URL coding。URL coding有其定義。基本上為英文字母數字。如上例query內為八卦就不行了。因此需將八卦二字轉為URL coding,也就是成為%2A%2B之類的東西。

解法:

NSString *query = [[aText stringByReplacingOccurencesOfString:@" " withString:@"+" ] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

以上 stringByAddingPercentEscapesUsingEncoding就是將UTF8String換成URL coding關鍵。前面stringByReplacingOccurencesOfString只是將空白換成+號,否則空白也會變成URL coding。