Alamofire 返回错误的编码
Posted
技术标签:
【中文标题】Alamofire 返回错误的编码【英文标题】:Alamofire returns wrong encoding 【发布时间】:2015-07-30 20:18:31 【问题描述】:我正在使用
Alamofire.request(.GET, "http://")
.responseString _, _, string, _ in
println(string)
发出获取请求。响应包含西里尔符号,在 responseString 中它们看起来像这样(右上角):
我应该如何修复编码?
【问题讨论】:
您是否可以提供一个测试 url 来表示这种行为?它可能会帮助那些试图回答您的问题的人。 好的,问题已解决 【参考方案1】:您可以将NSUTF8StringEncoding
与Alamofire 的responseString
方法一起使用:
Alamofire.request(.GET, "http://my1test.ru/applejesus.php?task=getCategory&categoryNumber=1")
.responseString(encoding: NSUTF8StringEncoding) (request, response, string, error) -> Void in
if let result = string
println(result)
结果:
图片http://ipic.su/img/img7/fs/ProdukciyaApple.1438079721.png,标题Продукция Apple
【讨论】:
【参考方案2】:现在,您必须改用responseString(encoding: String.Encoding.utf8)
【讨论】:
或者只是.responseString(encoding: .utf8)
的简短版本:)以上是关于Alamofire 返回错误的编码的主要内容,如果未能解决你的问题,请参考以下文章
Swift 4 Alamofire 和编码 UIImage 的问题