2012-03-02 4 views
0

URL에 따옴표와 같은 "특수 문자"가있는 URL이 있습니다. 내가 이것을 시도하면 :NSURL은 null이거나 혼란스러운 문자열입니다.

NSURL *url = [NSURL URLWithString:@"http://someurl/%22sometext%22"]; 

url은 null입니다. 난이 때

는 :

{TYPE = 15, 문자열 = http://someurl/%22sometext%22 인코딩 = 134,217,984,베이스 = (NULL)}

:
NSURL *url = [NSURL URLWithString:[@"http://someurl/%22sometext%22" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]]; 

는이 같은 끔찍한 출력 geht

아무도 나를 도와 줄 수 있습니까?

+0

첫 번째 URL에서 문제가 무엇입니까? 그것의 일 벌금. – Hector

답변

1

예를 들어 직접 인코딩하지 마세요. 예 : NSURL *url = [NSURL URLWithString: [@"http://someurl/\"sometext\"" stringByAddingPercentEscapesUsingEncoding: NSUTF8StringEncoding]];이 작동 중입니다.

그러나 적절한 URL 인코딩을 사용 기타 기능에 대한

:

- (NSString*) encodeString: (NSString*) string 
{ 
    NSString* result = (NSString*) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR("% '\"?=&+<>;:-"), kCFStringEncodingUTF8); 
    return [result autorelease]; 
} 
+0

대단히 감사합니다. 내 주말에 안전합니다. – user944351