0

我正在运行一个填充 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...这显然不是我的代码的问题。我为浪费大家时间而道歉。

SQLiteManager 导入窗口的屏幕障碍

4

0 回答 0