NSURL с тайским языком

У меня проблема с NSURL и таиландским языком, например, " http://www.xyp.com/?var=%E0%B9%84%E0%B8%97%E0%B8%A2", он не работает, но если вы используете " http://www.xyp.com/?var=Thai", то он Хорошо. Я не знаю, как решить эту проблему, пожалуйста, помогите мне.

4 ответа

Я использовал метод stringByAddingPercentEscapesUsingEncoding в строке URL, и это решило проблему, я использовал датские символы

Проблема на самом деле с определением URI. RFC3986 определяет содержимое URI и, соответственно, URL-адреса как символы ASCII, поэтому вам необходимо как-то их кодировать. Вот что такое Percent-кодировка. Проблема в том, что никто не согласен с тем, какие байты кодировать. Некоторые люди предпочитают брать необработанный контент, преобразовывать его в UTF-8, а затем кодировать байты с использованием стандартного процентного кодирования. Другие просто закодируют байты UCS-2 напрямую, но тогда у вас проблемы с порядком байтов.

Возможно, вы также захотите прочитать публикацию UNICODE URL Decoding.

NSURL требует, чтобы все специальные символы были экранированы.

Попробуй url-кодировать
поиск по ключевому слову "url кодировать", и вы можете найти некоторые сайты, такие как 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% А2

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