Мне нужно передать кириллические символы в качестве параметра в URL-адресе моего iPhone-приложения. Образец URL выглядит следующим образом:Передача кириллических символов в качестве параметра URL
http://www.mysite.com/script.php?message = страшная
Когда я использую этот URL в браузере, он возвращает правильный результат. Однако в моем приложении кириллица не нравится, и я получаю «плохой URL» в коде didFailWithError.
Я пробовал несколько кодировок в своем браузере, чтобы обойти это, но не повезло. Есть ли способ отправить конкретный пример URL-адреса выше с помощью приложения iPhone? Фрагмент кода я использую:
selectedWord = @"страшная";
NSString *requestURL = [NSString stringWithFormat:@"http://www.mysite.com/script.php?message=%@", selectedWord];
NSLog (requestURL);
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:requestURL]];
[[NSURLConnection alloc] initWithRequest:request delegate:self];
В приведенном выше коде, я жёстко кириллической слово в NSString * selectedWord для целей отладки. В реальном приложении он будет динамическим, основанным на пользовательском вводе.
Я пробовал более сложный POST, считая, что я могу передавать кириллицу как данные, а не текст, но либо я делаю это неправильно, либо он тоже не работает.
Любой пример кодирования Я могу попробовать в своем браузере, а затем реализовать в приложении было бы полезно. Я понимаю, что кириллица отклоняется в NSURL, но я надеялся, что вокруг этого будет способ с другим кодом или кодировкой.
Спасибо Robot K! Это сработало! Думаю, мне действительно нужно больше искать документацию для всех возможных кодировок. Я не видел, чтобы кто-то упоминал, где я смотрел! – user472938
Это нелегко найти. NSString - это огромный класс, и некоторые из имен методов довольно сбивают с толку. –
Спасибо, это работает также для испанских специальных символов, таких как á, é, í, ó, ú и ñ. – mvasco