2011-12-09 166 views
2

我正在使用NSMutableURLRequest下載網頁,但遇到問題將該網頁放入NSString。NSData與NSString與åöä

NSString *username = @"my_username"; 

NSString *password = @"my_password"; 

NSURL* url = [NSURL URLWithString:[NSString stringWithFormat:@"https://www.mypage.com/login.php?username=%@&password=%@", username, password]]; 

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 

NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil]; 

NSString *returnPage = [NSString stringWithFormat:@"%.*s", [returnData length], [returnData bytes]]; 

這工作正常,除了像åäö等特殊字符有沒有更好的辦法?

回答

5

是,使用以下命令:

NSString *returnPage = [[[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding] autorelease]; 

使用UTF-8,而不是ASCII的。

+0

嗯,Xcode(4.2)告訴我「ARC禁止'autorelease'的顯式消息」,我應該離開autorelease出去並且交叉我的手指嗎? :)我不習慣ARC,ObjC和Xcode ... – user872661

+0

試過NSString * returnPage = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];沒有工作。 returnPage是執行後=/ – user872661

+0

這意味着你正在使用錯誤的編碼...從你的API返回什麼編碼? –