Swift, PHP и Unicode символы - PullRequest
0 голосов
/ 15 мая 2019

Я использую URL-запрос для получения данных из MySQL.Данные получены в формате JSON.Эти данные также включают символы Юникода (например, греческие буквы).

Затем в 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

В этом контенте есть символы юникода.

Символы Юникода выглядят так(если я печатаю словарь): \ U03b1 (для греческого алфавита).

Проблема в том, что Swift не может прочитать эти символы, потому что Swift ожидает, что символы юникода будут такими: \ u {03b1}.

Значением содержимого является пустая строка: ""

Как я могу решить эту проблему?Либо PHP должен посылать эти символы так, как Swift «понимает» их, либо Swift правильно декодирует входящие данные.

Есть идеи?

Спасибо!

1 Ответ

0 голосов
/ 15 мая 2019

У меня одна и та же проблема с несколькими символами валюты. Команда API сейчас проходит «\ u0024» и решает проблему в Swift. Может быть, вы можете попробовать то же самое со стороны API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...