title: swift post request encoding plus sign become white space
body: <p>Recently I found out that when I send a post data which include a "+" sign, the "+" will become white space. for example { dish_name: fish+chips }. This cause server side cannot read data. So I try following, I use :</p>
  
  <p><strong>request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")</strong></p>
  
  <p>to encoding my request to UTF-8.However, this line cause my post data become empty. I have no clue why this happen. <strong>Or is there any better solution to keep "+" sign as itself during post method?</strong></p>
  
  <pre><code>func PostMethod(url:NSURL,Data:String) {
  
     let request = NSMutableURLRequest(URL: url)
     let session = NSURLSession.sharedSession()
     let submitContent = Data
     request.setValue("application/json; charset=utf-8", forHTTPHeaderField: "Content-Type")
     request.HTTPMethod = "POST"
     request.HTTPBody = submitContent.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
  
  
     //print("——request——")
     //print(request)
  
     let task = session.dataTaskWithRequest(request){
         data, response, error in
  
  
         if data != nil{
  
             let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding) as! String
             print(responseString)
  
             let jsonall = self.commonControl.StringToJson(responseString)
             if let dataFromString = jsonall["body"].stringValue.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false) {
                 let json = JSON(data: dataFromString)
  }}}}
  </code></pre>