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