Obj-C, кодировать упрощенный китайский в строке поиска iTunes?

Я изо всех сил пытаюсь использовать API поиска iTunes с упрощенным китайским языком. Я попробовал несколько вариантов символов (предоставляемых Google Translate) вместе с 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
}

1 ответ

Решение

Я попытался ввести URL-адрес в браузере, и я получил результаты. Я думаю, вам нужно в процентах кодировать китайские символы?

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

Вы можете использовать функцию iOS stringByAddingPercentEncodingWithAllowedCharacters,

Другие вопросы по тегам