Я перебираю набор результатов FMDB, сгенерированный из базы данных SQLite3, создавая объекты для последующего использования.
Содержимое данных создается различными пользователями с использованием различных текстовых редакторов и кодировок.
Некоторые записи проблематичны, возвращая ноль для значения столбца, даже если в столбце есть текст.
Например, я вижу текст для столбца в базе данных, когда я запускаю запрос командной строки, но метод FMDB stringForColumn возвращает ноль. Я также вижу, что потенциальная причина - высокие символы ascii в содержимом столбца, которые, скорее всего, были получены пользователем, копирующим и вставляющим текст из MS Word. Мой вопрос заключается в том, как лучше всего справиться с этим «грязным» данными, понимая, что некоторые данные могут находиться в базе данных с этими символами?
![enter image description here](https://i.stack.imgur.com/KVxig.png)
NSMutableDictionary *words = [[NSMutableDictionary alloc] init];
FMResultSet *rs = [db executeQuery:@"SELECT * FROM `foo` WHERE 1"];
while ([rs next]) {
Word *myWord = [[Word alloc] init];
//Coming in as a nil value eventhough there is text in the database column
[myWord setDefinition:[rs stringForColumn:@"definition"]];
[words setObject:[myWord definition] forKey:[myWord term]];
}