lazarus使用的mssql表原有的数据编码不是UTF8,读取的中文是乱码,原因是lazarus默认使用UTF8编码,与存入 mssql的编码一不致,使用LConvEncoding单元的cp936toutf8转换就能正常显示中文了。还有,mssql表的包含中文的字段类型用nvarchar。
在uses添加 LConvEncoding。
uses Classes, SysUtils, DB, Forms, Controls, Graphics, Dialogs, StdCtrls, DBGrids, LR_Class, LR_DBSet, LR_Desgn, Uni, SQLServerUniProvider,LConvEncoding;
form1.Caption:=cp936toutf8( UniTable1.FieldByName('xxx').AsString);
标签:中文,低版本,LConvEncoding,lazarus,LR,UTF8,unidac,mssql From: https://www.cnblogs.com/qiufeng2014/p/16962477.html