我正在使用 url 请求从 MySQL 接收数据。 数据以 JSON 格式接收。 此数据还包括 unicode 字符(例如希腊字母)。
然后,在 Swift 中,我使用 JSONSerialization,如下所示:
if let json = try JSONSerialization.jsonObject(with: data!, options: []) as? [String: Any] {
json 的键是数字索引。 然后我采用这样的嵌套字典:
let dictionary = json[key] as? [String: Any]
然后我分配:
var content = dictionary!["content"] as! String
此内容内含 unicode 字符。
Unicode 字符如下所示(如果我打印字典): \U03b1(希腊字母 Alpha)。
问题是 Swift 无法读取这些字符,因为 Swift 期望 unicode 字符如下所示:\u{03b1}。
content的值为空字符串:“”
我该如何解决这个问题? 要么让 PHP 以 Swift “理解”的方式发送这些字符,要么让 Swift 以正确的方式解码传入的数据。
有什么想法吗?
谢谢!
最佳答案
对于多个货币符号,我确实遇到了同样的问题。 API 团队现在正在通过“\u0024”,并且已经解决了 Swift 中的问题。也许您可以从 API 端尝试相同的操作。
关于php - Swift、php 和 unicode 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56144146/