Đây là một giải pháp tốt đẹp cho vấn đề này được lấy từ Bagonca blog để URL mã hóa NSStrings của bạn:
+ (NSString *)urlEncodeValue:(NSString *)str
{
NSString *result = (NSString *)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)str, NULL, CFSTR(":/?#[]@!$&’()*+,;="), kCFStringEncodingUTF8);
return [result autorelease];
}
Thêm CFBridgingRelease(
để tương thích ARC.
+ (NSString *)urlEncodeValue:(NSString *)str
{
NSString *result = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)str, NULL, CFSTR(":/?#[]@!$&’()*+,;="), kCFStringEncodingUTF8));
return result;
}
Nguồn
2011-05-03 09:45:34
Ký hiệu & là một ký tự hợp lệ trong URL. 'www.example.com? a = 5 & b = 7' –
tôi biết .. nhưng nó làm rối tung các tham số truy vấn của tôi, vì vậy cần phải" loại bỏ "các lần xuất hiện & trong các giá trị trước khi thêm vào chuỗi truy vấn .. – Meltemi