2016-07-15 40 views
0

我得到一些DATAS使用JSON,但是当我得到的数据name小号特林是这样的:问题与数据字符串转换为UTF8

{ 
    code = 200; 
    found = 1; 
    name = "\\u0635\\u0641\\u062d\\u0647 \\u0631\\u0633\\u0645\\u06cc \\u0633\\u0627\\u06cc\\u062a \\u0648\\u0631\\u0632\\u0634 \\u06f3"; 
} 

如何解决这个问题?我试图将其转换为UTF8编码,但仍然没有!我不得不说的网址在Safari中正常工作与UTF8编码

这里是我的代码:

let userURL: String = "https://myurl.com/xxx" 
     let ut8 = userURL.stringByAddingPercentEncodingWithAllowedCharacters(NSCharacterSet.URLQueryAllowedCharacterSet()) 

     NSURLSession.sharedSession().dataTaskWithURL(NSURL(string:ut8!)!, completionHandler: { (data, response, error) -> Void in 
      // Check if data was received successfully 
      if error == nil && data != nil { 
       do { 
        if let jsonResult = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as? NSDictionary { 
         print(jsonResult) 
    } 

..... 
} 

问题就迎刃而解了:有在服务器出了问题,现在固定

+3

这不是JSON字符串,它的字典表示。你确定JSON包含这些Unicode令牌吗? – vadian

+0

@vadian我只是编辑我的Q标题 –

+0

不要将'name'字符串转换并分配给UILabel的'text'属性。怎么了? – vadian

回答

0

这是只是print方法输出什么,它有时会遇到编码问题。在用户界面中呈现这些文本时应该没问题。

0

要将数据字符串转换为UTF8字符串中斯威夫特

yourNSStringObject.utf8 

要将数据字符串转换为UTF8字符串的目标C使用

[yourNSStringObject UTF8String];