我的申请表格是葡萄牙语 - 巴西。我们在“Açaí”这样的词中使用了一些特殊字符。
我有一个搜索方法,可以向这样的URL发送请求:
SELECT CASE
WHEN (SELECT COUNT (*) FROM TABLE_ERR) > 0 AND (SELECT COUNT (*) FROM TABLE_PR) > 0 THEN 'OUTPUT 1'
WHEN (SELECT COUNT (*) FROM TABLE_ERR) > 0 AND (SELECT COUNT (*) FROM TABLE_PR) = 0 THEN 'OUTPUT 2'
ELSE ''
END
现在,如果_query设置为“Açaí”(其中有ç和í作为特殊字符),当我尝试 NSURLSession *session = [NSURLSession sharedSession];
NSString *urlString = [NSString stringWithFormat:@"http://www.mydomain.com.br/webservice/search/%@",_query];
NSURL *URL = [NSURL URLWithString:urlString];
[[session dataTaskWithURL:URL
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error) {
//ALL THE LOGIC HERE
});
}] resume];
时,URL变量未初始化并打破其余所有内容。
如何使用特殊字符向我的网络服务发送请求?
答案 0 :(得分:0)
我认为您需要在创建NSURL
之前转义url字符串。
NSString *urlString = [NSString stringWithFormat:@"http://www.mydomain.com.br/webservice/search/%@",_query];
NSURL *URL = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];