iPhone отправляет параметр UTF-8 в NSURL - PullRequest
1 голос
/ 14 ноября 2010

Я пытаюсь выполнить поиск в Google на языке справа налево (иврит, арабский и т. Д.)метод, как будто он пустой ... в то время как если я добавлю английские символы, он будет работать нормально ... есть ли другой способ для этих символов utf-8?

1 Ответ

2 голосов
/ 14 ноября 2010

Предостережение: я не занимаюсь программированием iPhone и не знаю, как должны работать используемые вами методы / методы.

Однако, похоже, что URL не экранируется.

URL-адрес RFC явно нечеткий в отношении кодировки символов в URL-адресе («Эта спецификация не требует какой-либо конкретной кодировки символов»). Однако URL-адрес ограничен буквами ASCII, цифрами и небольшим набором специальных символов. Все остальное должно быть закодировано с использованием процентного кодирования .

Хотя в синтаксисе URL-адреса не указана кодировка набора символов, сервер с хорошим поведением должен принимать символы UTF-8, , если они экранированы в процентах . Таким образом, еврейский символ Sheva, Unicode 05B0, должен быть сохранен в URL как %D6%B0.

Чтобы диагностировать, вам нужно посмотреть на фактические байты, идущие по проводу. Не уверен, насколько легко это будет сделать с iPhone, но может помочь прокси-сервер регистрации, такой как Fiddler (да, я знаю, это приложение для Windows, но я уверен, что есть эквивалент для Mac ).

...