我决定将我的 C++ Builder 项目从 SQLITE 默认的
StringFormat=Choose
和 OpenMode=CreateUTF8
移动到 Unicode 版本:
SQLiteFDConnection->Params->Values["StringFormat"]=_T("Unicode");
SQLiteFDConnection->Params->Values["OpenMode"]=_T("CreateUTF16");
// NOTE: The same thing happens if I create it with:
//SQLiteFDConnection->Params->Values["OpenMode"]=_T("CreateUTF8");
因为
VARCHAR
字段不会使用日文字符(结果为 ??)。但是,我什至无法使用这两个设置打开新数据库而没有得到:
项目引发了异常类 EDatabaseError,消息为“Table1: 字段“名称”的类型不匹配,期望:实际字符串:WideString'。
姓名是
VARCHAR
项目之一(第一个)。
在另一个线程中提到设置
TFDQuery
Charset
但是在 C++ Builder 中似乎没有 FDQuery1.Params.Strings['Charset'] := UTF8Charset
可用。
使用
Unicode
字符串格式VARCHAR
时,手册说SQLITE将是UnicodeString
.
我一定很明显漏掉了什么,那是什么?
TIA!!