NSURLに日本語を含めるには
NSURL* url = [NSURL URLWithString:
[@"日本語含む" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
stringByAddingPercentEscapesUsingEncodingは、エスケープをあまりしてくれないようで、
URIEncodeを確実に行う場合は、CFURLCreateStringByAddingPercentEscapesを使うのが定石になっているようです。
NSString* escapedUrl
= (NSString*) CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
(CFStringRef)str,
NULL,
(CFStringRef)@"!*'();:@&=+$,/?%#[]",
kCFStringEncodingUTF8);