我正在运行一个填充 TComboBox 的查询,以让用户过滤 ListView 中显示的结果。其中一个查询结果有一个带有重音符号的E。这个词是CIGRÉ
。它在我的 ComboBox 中显示为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();
}
ps 我在 C++Builder 10.2 版本 25.0.29899.2631 中构建,该应用程序适用于 Win32、iOS 和 Android。我正在使用 FireDAC 访问数据库。该committee
字段是文本类型。Driver 的 TFDConnection 设置是 SQLite。db 文件是 SQLite 版本 3 (SQLite3)。
更新 1:我一直在使用SQLiteManager将 CSV 数据导入我的数据库。我已将其设置为 UTF-8、UTF-16 和 UTF-32,并且都给出相同的结果。由SQLiteManagerCIGRÉ
转换为。CIGR...
这显然不是我的代码的问题。我为浪费大家时间而道歉。