我收到的json:
{
"buyer": {
"tmallMemberLevel": 0
},
"consumerProtection": {
"items": [{
"desc": "ÕýÆ·±£ÕÏ£¬¼ÙÒ»ÅâËÄ",
"title": "¼ÙÒ»ÅâËÄ",
"type": 0
}, {
"desc": "³ÏÐÅÓû§ÔÚÍË»õ¼Ä³öºó£¬ÏíÊܼ«ËÙÍ˿ÕË",
"title": "¼«ËÙÍË¿î",
"type": 0
}, {
"desc": "Âú×ãÏàÓ¦Ìõ¼þʱ£¬Ïû·ÑÕß¿ÉÉêÇë ¡°ÆßÌìÎÞÀíÓÉÍË»»»õ¡±",
"title": "ÆßÌìÎÞÀíÓÉÍË»»",
"type": 0
}]
}
}使用Alamofire 5.0,responseString是:
{"buyer":{"tmallMemberLevel":0},"consumerProtection":{"items":[{"desc":"正品保障,假一赔四","title":"假一赔四","type":0},{"desc":"诚信用户在退货寄出后,享受极速退款到账","title":"极速退款","type":0},{"desc":"满足相应条件时,消费者可申请 “七天无理由退换货”","title":"七天无理由退换"中文节目正确。
然而,在Alamofire 5.3中,responseString是:
{"buyer":{"tmallMemberLevel":0},"consumerProtection":{"items":[{"desc":"ÕýÆ·±£ÕÏ£¬¼ÙÒ»ÅâËÄ","title":"¼ÙÒ»ÅâËÄ","type":0},{"desc":"³ÏÐÅÓû§ÔÚÍË»õ¼Ä³öºó£¬ÏíÊܼ«ËÙÍ˿ÕË","title":"¼«ËÙÍË¿î","type":0},{"desc":"Âú×ãÏàÓ¦Ìõ¼þʱ£¬Ïû·ÑÕß¿ÉÉêÇë ¡°ÆßÌìÎÞÀíÓÉÍË»»»õ¡±"中国人变成了乱糟糟的代码。
如何解决这个问题?
发布于 2020-11-27 14:27:38
使用GBK编码来响应字符串:
extension String.Encoding {
public static var GB_18030_2000: String.Encoding {
let cfEncoding = CFStringEncodings.GB_18030_2000
let resEncoding = CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(cfEncoding.rawValue))
return String.Encoding(rawValue: resEncoding)
}
}https://stackoverflow.com/questions/64911061
复制相似问题