У меня проблема с языком NSURL и Таиландом, например "http://www.xyp.com?var=%E0%B9%84%E0%B8%97%E0%B8%A2" не работает, но если вы используете "http://www.xyp.com?var=Thai" это нормально. Я не знаю, как решить эту проблему, пожалуйста, помогите мне.
NSURL с тайским языком
Ответы (4)
я использовал метод stringByAddingPercentEscapesUsingEncoding в строке URL, и это решило проблему, я использовал датские символы
Проблема на самом деле с определением URI. RFC3986 определяет содержимое URI и, соответственно, URL в виде символов ASCII, поэтому у вас есть кодировать их как-то. Вот что такое процентное кодирование. Проблема в том, что никто не договаривается о том, какие байты кодировать. Некоторые люди предпочитают брать исходный контент и преобразовывать его в кодировку UTF. 8, а затем закодировать байты, используя стандартное процентное кодирование. Другие будут просто кодировать байты UCS-2 напрямую, но тогда у вас возникнут проблемы с порядком байтов.
Вы также можете прочитать публикацию URL-декодирования UNICODE.
NSURL требует экранирования всех специальных символов.
попробуйте url-encode
выполните поиск по ключевому слову "url encode", и вы сможете найти такие сайты, как https://www.urlencoder.org/
Затем http://www.xyp.com?var=%E0%B9%84%E0%B8%97%E0%B8%A2 будет закодирован примерно так
http%3A%2F%2Fwww.xyp.com%3Fvar%3D%E0%B9%84%E0%B8%97%E0%B8%A2