delphi - 快速报告 4 ( Delphi 7 ) 使用frxUserDataSet支持UTF8?

  显示原文与译文双语对照的内容
0 0

我做了作业,具体是:

1 ) 阅读整个 FASTREPORT 4手册。 它没有提到 UTF8,也没有支持 Unicode

2 ) 在这里寻找答案

3 ) google围绕它进行搜索

如果我设置了文本字段并用泰语字符填充,它们是完美的打印,所以FastReport可以处理Unicode字符,至少它可以打印它们。

如果我试图使用"通过"提供的回调来实现一个值,那么我看到的是一些混乱的非unicode文本。 如果是 pass,那么我可以看到重复的字符,但不能知道这些字符应该被处理成 Unicode 。

回调需要传回到"变体型"类型的数据,因这里我想将它们转换为任何类型是完全无用的。

我忘记,我从 MySql DB获得字符串,数据存储为 rtc,并且我甚至不复制本地变量中的数据: 我从数据库中得到的东西被放入了变量。

是否有强制FastReport打印作为Unicode接收的数据的方法?

谢谢你

时间: 原作者:

0 0

是,带Delphi7的FR4支持使用frxUserDataSet的UTF8.

仅供将来参考:

1 ) 你必须设置你的DB ( 。我的案例中的MySql ) 以使用 UTF8

2 ) 必须在用于访问数据库的组件中设置用于MySql的) ("dac的字符集,属性称为 ConnectionCharacterSet 。

3 ) 在所有frxUserDataSet回调中,在设置"值"变量之前,必须转换使用 Utf8decode Delphi系统例程的任何内容:

值:Utf8decode ( freports.q1.fieldvaluebyfieldname ('yourdbfield') ) ;

其中fReports是表单名,而q1是用来访问数据库的组件。

在我的阅读中,使用D7和UniCode几乎不可能,但是只要你使用XP和 up,这只是我看到的更难。 不幸的是,我必须使用 XP,D7,不能升级。 但是,我很快就被用来解决这些问题,因这里,将来我希望能够以同样的方式帮助我。

原作者:
...