DELPHI7调用BERLIN中间件的中文字段名乱码的解决办法

MSSQL数据库的表使用中文字段名,BERLIN开发的DATASNAP中间件,DELPHI7调用中间件的查询方法返回数据给CLIENTDATASET.DATA,发现中文字段名乱码,中文字段名的值可以正常显示。

怎么办?

发现在SQL语句中将中文字段名as 为英文字段名可以解决乱码的问题。

select c1,字段名2 as c1 from t1

原因何在?

BERLIN默认是使用UNICODE字符串的,BERLIN的CLIENTDATASET也是使用UNICODE字符串,而DELPHI7是ANSI 字符串,DELPHI7的CLIENTDATASET使用ANSI字符串,这就是造成中文字段名乱码的原因。

最后还是不建议使用中文作为字段名。