Вставьте запрос со специальными символами в sqlite и получите эти данные обратно SQL - PullRequest
0 голосов
/ 16 января 2020

Вставить запрос:

Insert into NEWS(NewsID,NewsHeading,NewsDescription,NewsLink)
values (106339025,Giuliani associate Parnas says Trump'knew exactly what was going on',The indicted associate of President Trump's personal lawyer Rudy Giuliani said in an interview that Trump "knew exactly what was going on," NBC News reports.,https://www.cnbc.com/2020/01/15/giuliani-associate-parnas-says-trump-knew-exactly-what-was-going-on.html)

Вопрос: Как вставить запрос со специальными символами в SQLite и получить эти данные обратно в строковом формате? Как и при вставке данных, это показывает ошибку.

Я получаю строку со специальными символами

Когда я преобразовал строку в utf8CString, я получаю следующий результат.

[66, 101, 105, 106, 105, 110, 103, 32, 99, 114, 97, 99, 107, 105, 110, 103, 32, 100, 111, 119, 110, 32, 111, 110, 32, 73, 80, 32, 116, 104, 101, 102, 116, 32, 99, 111, 117, 108, 100, 32, 98, 111, 111, 115, 116, 32, 105, 110, 118, 101, 115, 116, 109, 101, 110, 116, 32, 105, 110, 32, 67, 104, 105, 110, 97, 44, 32, 102, 111, 114, 109, 101, 114, 32, 85, 83, 32, 110, 101, 103, 111, 116, 105, 97, 116, 111, 114, 32, 115, 97, 121, 115, 0]

Но я не могу вернуть ее обратно в строку

Я преобразовал строку в utf8CString, но когда я выбираю данные, она не конвертируется вернуться к строке.

Может кто-нибудь объяснить, пожалуйста, как вставить запрос.

Ответы [ 2 ]

2 голосов
/ 16 января 2020

Попробуйте String Расширение.

extension String {
    func base64Encoded() -> String? {
        return data(using: .utf8)?.base64EncodedString()
    }

    func base64Decoded() -> String? {
        guard let data = Data(base64Encoded: self) else { return nil }
        return String(data: data, encoding: .utf8)
    }
}

Попробуйте это !! Просто закодируйте строку в base64 и сохраните ее в базе данных и декодируйте при извлечении из базы данных.

Надеюсь, это поможет вам.

0 голосов
/ 16 января 2020

Использовать строковое значение внутри '' (одинарные кавычки).

Используйте \ перед одинарными кавычками, если внутри значения одинарные кавычки, например 'Giuliani associate Parnas says Trump\'knew exactly what was going on\''

Попробуйте выполнить приведенный ниже запрос. Это работает для вас.

Insert into NEWS(NewsID,NewsHeading,NewsDescription,NewsLink) 
values (106339025,'Giuliani associate Parnas says Trump\'knew exactly what was going on\'','The indicted associate of President Trump\'s personal lawyer Rudy Giuliani said in an interview that Trump "knew exactly what was going on," NBC News reports.','https://www.cnbc.com/2020/01/15/giuliani-associate-parnas-says-trump-knew-exactly-what-was-going-on.html')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...