小编Ale*_*ama的帖子

Swift-特殊字符的编码和解码字符串

这是我的问题:我目前正在开发一个应用程序,其中包括即时聊天(使用FCM)。除非我尝试发送特殊字符(例如“é”或表情符号),否则一切都正常。收到的推送通知包含一个好的字符串,但是当讨论保存在服务器上然后重新加载时,我无法阅读它们并获得UTF8文本,例如“ê”的“ u00ea”。我对编码等并不了解很多,但是如果你们能帮助我,我将非常高兴!

这是我用来发送消息的代码:

    func sendMessage(_ completion: @escaping (_ response: String) -> ()) {

    DispatchQueue.global(qos: .userInitiated).async { () -> Void in
        let urlString = //Server adress
        let url = URL(string: urlString)

        var request = URLRequest(url: url!)
        let set = CharacterSet()
        request.httpMethod = "POST"
        let postString = "Message=" + /*String text to send*/
        request.httpBody = postString.data(using: String.Encoding.utf8)

    let task = URLSession.shared.dataTask(with: request, completionHandler: { (data, response, error) in

        })
        task.resume()
    }
}
Run Code Online (Sandbox Code Playgroud)

非常感谢 !

PS:我是问堆栈溢出的新手,所以请随时询问更多详细信息

按照Rob的要求进行编辑:我发送了“ testéè”消息。
另一部电话通过推送通知接收到“ testéè”。
当一部电话从服务器上加载服务器中的讨论时,其答案来自服务器。

    [{"content":"test …
Run Code Online (Sandbox Code Playgroud)

string encoding utf-8 swift swift3

4
推荐指数
2
解决办法
8092
查看次数

标签 统计

encoding ×1

string ×1

swift ×1

swift3 ×1

utf-8 ×1