首页 > 数据库 >lazarus 使用unidac 读mssql低版本数据时中文出现?解决办法

lazarus 使用unidac 读mssql低版本数据时中文出现?解决办法

时间:2022-12-07 11:00:28浏览次数:64  
标签:中文 低版本 LConvEncoding lazarus LR UTF8 unidac mssql

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

相关文章