【问题标题】:Alamofire returns wrong encodingAlamofire 返回错误的编码
【发布时间】:2015-07-30 20:18:31
【问题描述】:

我正在使用

Alamofire.request(.GET, "http://")
        .responseString { _, _, string, _ in
            println(string)
    }

发出获取请求。响应包含西里尔符号,在 responseString 中它们看起来像这样(右上角):

我应该如何修复编码?

【问题讨论】:

  • 您是否可以提供一个测试 url 来表示这种行为?它可能会帮助那些试图回答您的问题的人。
  • 好的,问题已解决

标签: swift encoding alamofire


【解决方案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) 的简短版本:)
    猜你喜欢
    • 2016-04-16
    • 1970-01-01
    • 2017-06-15
    • 2018-06-04
    • 2015-07-07
    • 1970-01-01
    • 1970-01-01
    • 2016-04-09
    相关资源
    最近更新 更多