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

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


person mr.octobor    schedule 01.01.2010    source источник
comment
возможный дубликат URLWithString: возвращает nil   -  person Mike Abdullah    schedule 14.04.2013


Ответы (4)


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

person RVN    schedule 19.01.2011

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

Вы также можете прочитать публикацию URL-декодирования UNICODE.

person D.Shawley    schedule 01.01.2010

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

person Azeem.Butt    schedule 01.01.2010

попробуйте 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

person wetinee    schedule 23.07.2017