问问题
470 次
1 回答
3
我决定写这篇文章是为了分享我在将近一周和不眠之夜后找到的解决方案。
问题是由创建数据库代码产生的。由于参数不同,并且与通常的连接参数不同,我将 DEFAULT CHARACTER SET UTF8 设置为,相信我要在数据库中操作的任何 DDL 或语句都具有 UTF8 字符集。
这不是真的,数据库连接的行为不像带有 lc_ctype 参数集的连接。
为了解决这个问题,我只需要关闭与数据库的连接,像第一次一样重置参数:
IBDatabase.Connected:= False;
IBDatabase.Params.Clear;
IBDatabase.DatabaseName:= FDBFileName;
IBDatabase.Params.Values['user_name']:= FDBUserName;
IBDatabase.Params.Values['password']:= FDBPassword;
IBDatabase.Params.Values['lc_ctype']:= 'UTF8';
IBDatabase.Connected:= True;
并执行所有操作。这样它就可以正常工作。
于 2018-04-08T21:57:52.690 回答