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字符串,这就是造成中文字段名乱码的原因。
最后还是不建议使用中文作为字段名。