2015-09-01 6 views
1

Я отправляю данные на сервер в почтовом теле. Для чего я использовал следующий код из Encoding URL Data.Рассмотрите все символы для URL-адреса Кодировка, публикация данных, полное решение iOS

CFStringRef encodedString = CFURLCreateStringByAddingPercentEscapes(
    kCFAllocatorDefault, 
    originalString, 
    NULL, 
    CFSTR(":/?#[]@!$&'()*+,;="), 
    kCFStringEncodingUTF8); 

Позже я забыл добавить еще один символ в списке, который был «»», апостроф. Я не знаю, сколько символов нужно добавить.

Кроме того, если на сервер с приложением/x-www-form-urlencoded есть какой-либо специальный символ, то может быть лучшим и стабильным решением.

+0

не ясно, о чем вы спрашиваете. – SpaceDog

+0

Я прошу универсальное решение, чтобы обрабатывать все символы, которые нужно закодировать, отправляя почтовый запрос. – andyPaul

ответ

1

Похоже, вам не хватает % на вашей строке.

Существует и другое решение, вы можете попробовать:

NSString *encodedURL = [rawURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
+0

Хороший улов. Решение, которое вы рекомендуете, является общим, поскольку я не вижу здесь упоминания конкретного персонажа. – andyPaul

+1

обычно 'stringByAddingPercentEscapesUsingEncoding' обрабатывает все, каждый символ, который необходимо закодировать. Вопрос только в том, какую кодировку вы должны использовать. В этом случае UTF8. – SpaceDog