这是我的问题:我目前正在开发一个应用程序,其中包括即时聊天(使用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)