DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
lazarus/fpc/Free Pascal
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: tkzcol
今日帖子: 0
在线用户: 4
导航: 论坛 -> 报表专区 斑竹:sunyesy,iamdream  
作者:
男 lovewormcn (胡克定律) ★☆☆☆☆ -
普通会员
2008/4/22 22:48:59
标题:
FastReport4.5 中文显示 解决方案 浏览:3031
加入我的收藏
楼主: 最近下了个FastReport4.5FS,感觉还不错
但是,很快就遇到很郁闷的事情了。
首先发现的是字段标题是“姓名”的时候,预览时候很正常,但是运行的时候就莫名其妙消失了。。。
继而发现,有很多中文都是这么不见得,甚至有空格都会导致这种情况发生。。。
幸而是FS,研究了一天FS后发现,问题出在FR4.5的编码上了
FR4.5采用了UTF8编码,但是Delphi默认的编码似乎是Ansi编码
在xmlToObj和objToXml函数中,可以明显看到其中进行了编码的转换
UTF8Encode后的UTF8String似乎直接当作了String类型来用,后面的一系列调用Stream进行操作时,不知道Delphi会自动对其处理
没有详细再研究下去。。。时间不允许那么多了。
针对这个问题的简易解决方案是:
1.把报表模板存为.fr3的格式
2.用NotePad++或者notepad打开.fr3报表,然后以UTF8编码另存回去,这样就把其中的UTF8编码修正正确了。
3.显示报表时动态加载.fr3 ,frxReport.LoadFromFile('such.fr3')
这样反正凑活够用了,其它的有空再慢慢研究吧。
来自 http://user.qzone.qq.com/149718095/blog/1208875199
----------------------------------------------
-
作者:
男 glwshch (九龙) ★☆☆☆☆ -
盒子活跃会员
2008/5/3 22:49:37
1楼: frxUnicodeUtils单元下:
把TWideStrings类的ReadDataW和WriteDataW函数中关于Utf8的转换去掉

具体是:

ReadDataW:
    //Add(Utf8Decode(Reader.ReadString));
    Add(Reader.ReadString);

WriteDataW:
    //Writer.WriteString(Utf8Encode(Get(I)));
    Writer.WriteString(Get(I));
----------------------------------------------
还得继续使用DELPHI
作者:
男 sbamwdx (黑龙) ★☆☆☆☆ -
盒子活跃会员
2008/10/16 14:50:03
2楼: 不行呀,会全部变为乱码啊!
----------------------------------------------
-
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v3.0.1 版权所有 页面执行59.99756毫秒 RSS