2015-09-06 87 views
0

所以我有這個數據返回爲零與NSURLSession有一個字段與重音e。當重音e被刪除時,數據返回工作得很好。使用NSURLSession返回特殊字符

有什麼辦法讓這項工作有可能返回非標準英文字符?

我使用任務格式:

let url = NSURL(string: "www.test.com") 
    var session = NSURLSession.sharedSession() 
    let loadDataTask = session.dataTaskWithURL(url!, completionHandler: { (data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in 
     let string1 = NSString(data: data, encoding: NSUTF8StringEncoding) 
     println(string1) 
    } 
+0

看看[這個答案](http://stackoverflow.com/a/32051684/2227743)它是@dgatwood正在談論的Swift版本。 – Moritz

回答

0

你可能不是UTF-8編碼得到的數據備份。我不知道如何轉換斯威夫特,但這裏是你在Objective-C做什麼:

NSString *encodingName = response.textEncodingName; 
CFStringEncoding cfsenc = CFStringConvertIANACharSetNameToEncoding((__bridge CFStringRef)encodingName); 
NSStringEncoding nssenc = CFStringConvertEncodingToNSStringEncoding(cfsenc); 

當您創建的NSString然後傳遞價值,而不是NSUTF8StringEncoding

希望有所幫助。