我正在运行一个填充TComboBox的查询,以便用户过滤ListView中显示的结果。查询结果之一具有E with an accute accent字符。这个词是CIGRÉ
。如下所示,它在我的组合框中显示为CIGR...
。
我一直在整理数据,以将É
替换为E
。有没有办法修改查询,使其保留原始的É
?
下面是我的查询代码,它从一大堆会议(mtgs)中返回唯一的委员会名称。
Form1->FDConnection1->Params->Values["ColumnMetadataSupported"] = "False";
Form1->FDConnection1->Params->Values["Database"] = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetDocumentsPath(), "local.db"); // i'm using ifdefs to set this properly for platform (not shown)
query->SQL->Text = "SELECT DISTINCT committee FROM mtgs ORDER BY committee";
query->Open();
while (!query->Eof) {
Form1->cmbBoxFilters->Items->Add("Show " + query->FieldByName("committee")->AsString);
query->Next();
}
p.s。我正在C ++ Builder 10.2版本25.0.29899.2631中构建,该应用程序适用于Win32,iOS和Android。我正在使用FireDAC访问数据库。 committee
字段是TEXT类型。驱动程序的TFDConnection设置为SQLite。 db文件是SQLite版本3(SQLite3)。
更新1:我一直在使用SQLiteManager将CSV数据导入到我的数据库中。我将其设置为UTF-8,UTF-16和UTF-32,并且所有结果都相同。 SQLiteManager将CIGRÉ
转换为CIGR...
。这显然不是我的代码的问题。我为浪费大家的时间而道歉。