2010-04-28 1 views
0

Я пытаюсь передать учетные данные для входа в скрипт PHP, который у меня есть в приложении для iPhone. Когда я вытаскиваю пароль со специальными символами, пароль пропускает некоторые символы, особенно знак процента. Я пытаюсь закодировать текст, но даже до его отправки знак процента отсутствует.URL-адрес кодировки символов в поле пароля

//p_field is a UITextField holding the password: [email protected]#$%^&*() 
NSString *tmpPass = [p_field.text stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSLog(p_field.text); 
NSLog(tmpPass); 

Это то, что появляется в консоли:

[email protected]#$^&*() 

[email protected]&*() 

Есть ли причина, почему она будет падать знак процента?

ответ

2

Первый аргумент NSLog - это строка формата, а «%» имеют особое значение в строке формата. Вы должны вместо этого делать что-то вроде:

NSLog("p_field.text = %@", p_field.text); 
NSLog("tmpPass = %@", tmpPass); 

(%@ представляет собой последовательность строк формата для отображения NSString.)

0

Я испытал это на FooBabel.com и он должен выглядеть следующим образом: %21%40%23%24%25%5E%26*%28%29 закодирован.

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

  • Нет связанных вопросов^_^