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。