我将带有数据的 post 请求发送到我的服务器:
var syncData = "data=Hello&World"
let urlRequest = NSMutableURLRequest(URL: NSURL(string: url)!, cachePolicy: NSURLRequestCachePolicy.ReloadIgnoringCacheData, timeoutInterval: NSTimeInterval(60))
urlRequest.HTTPMethod = "POST"
urlRequest.HTTPBody = syncData.dataUsingEncoding(NSUTF8StringEncoding)
但是服务器无法解码&(ampersand)
字符的问题。在服务器上我只得到“你好”这个词。这不是服务器问题。因为我试图用 java 和 python 和 curl 发送这个字符串。
一切正常。
我试过这个: NSXMLParser problem with "&"(Ampersand) character
但这没有帮助...有什么想法吗?
最佳答案
正如穆萨所说。解决方案将是:
let customAllowedSet = NSCharacterSet(charactersInString:"=\"#%/<>?@\\^`{|}&").invertedSet
syncData = syncData.stringByAddingPercentEncodingWithAllowedCharacters(customAllowedSet)!
urlRequest.HTTPBody = syncData.dataUsingEncoding(NSUTF8StringEncoding)
关于ios - 将&符号字符转换为utf 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34519078/