2010-01-01 5 views
1

У меня есть проблемы с NSURL и Таиландом языком, например «http://www.xyp.com?var=ไทย» это does't работа, но если вы используете «http://www.xyp.com?var=Thai» это нормально. Я не знаю, как решить эту проблему, кто-нибудь, пожалуйста, помогите мне.NSURL с тайским языком

+0

Возможный дубликат [URLWithString: возвращает nil] (http: //stackoverflow.com/questions/1981390/urlwithstring-returns-nil) –

ответ

0

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

1

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

Возможно, вы захотите ознакомиться с сообщением UNICODE URL Decoding.

5

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

+0

Большое вам спасибо !!! Я решил проблему так же, как и вы! – alones

0

попытка URL-кодирование
поиск ключевое слово «URL кодирования» и вы можете найти некоторые веб-сайты, такие как https://www.urlencoder.org/

Тогда http://www.xyp.com?var=ไทย будет закодирован в нечто вроде этого

http% 3A% 2F% 2Fwww.xyp.com% 3Fvar% 3D% E0% B9% 84% E0% B8% 97% E0% B8% A2

Смежные вопросы