我有一个SQLite文件,其中包含一个可以包含HTML编码文本的文本列。例如,它可以包含 #Sample
之类的值,显示时应为 #Sample (#
是#符号的HTML编码)。
但是,当我使用sqlite3_column_text
读取该列的值时,我得到的文字是双重编码。我得到的文字不是 #Sample
,而是&ා示例。
我已经仔细检查了数据库的编码是UTF8,尝试了所有其他编码,以及许多其他明显的调试方法,但无法弄清楚为什么会发生这种情况。我的简单Objective C代码如下。任何人都可以想到问题可能是什么?
const char *c = (const char *)sqlite3_column_text(statement, 0);
NSString *stringValue = [NSString stringWithUTF8String:c];