Obj-C,在 iTunes 搜索查询字符串中编码简体中文?

Obj-C, encode Simplified Chinese in an iTunes search querystring?

我很难使用简体中文的 iTunes 搜索 API。我尝试了几个字符变体(由 google 翻译提供)以及 HTML 对字符进行编码。

下面的代码不会导致任何错误,但不会给我任何结果,这与英语单词不同。我也尝试过不同的中文单词。

但是我不确定如何进行。

NSString *url_string = @"";

NSString *keyword = [@"Chéngfǎ" stringByReplacingOccurrencesOfString: @" " 
   withString: @"%20"];
//NSString *keyword = [@"乘法" stringByReplacingOccurrencesOfString: @" " 
   withString: @"%20"];

url_string = [NSString stringWithFormat: 
    @"https://itunes.apple.com/search?term=%@&country=%@&entity=software", keyword, @"cn"];

NSError *error;
NSData *data = [NSData dataWithContentsOfURL: [NSURL URLWithString: url_string]];

NSMutableArray *json;
if (data != nil)
{
json = [NSJSONSerialization JSONObjectWithData:data options: kNilOptions error: &error];
}

NSDictionary *outer = [json valueForKey: @"results"];

for(NSDictionary *item in outer)
{
   //results
}

我尝试在浏览器中输入 URL 并得到了结果。我想你需要对汉字进行百分号编码?

https://itunes.apple.com/search?term=%E4%B9%98%E6%B3%95&country=cn&entity=software

您可以使用 iOS 函数 stringByAddingPercentEncodingWithAllowedCharacters