xml publisher 输出 pdf 汉字乱码问题

来源:互联网 发布:淘宝售后人工电话 编辑:程序博客网 时间:2024/05/22 03:12

问题描述: 在系统中运行 xml 报表,输出文件格式为 PDF 时,输出的结果中汉字全部为乱码,但输出文件格式为 RTF时,结果一切正常!

问题原因: 此问题是因服务器上 $AF_JRE_TOP/lib/fonts 目录下的字库不全引起

解决方法: 将 $FND_TOP/resource 目录中的 .ttf文件全部copy 到$AF_JRE_TOP/lib/fonts 目录中,此问题解决.

 

注:当然引起xml报表输出汉字乱码的原因还有其它,还有种常见的原因是环境变量没有配置好,可以按如下步骤进行查看:

1. Server 字符集
$echo $NLS_LANG
AMERICAN_AMERICA.UTF8

$xlsfonts
最后两位是 iso8859-1

1.建立中文字体支持
进入$FND_TOP/$APPLRSC(/u01/testenv/testappl/fnd/11.5.0/resource)
在 pasta.cfg 文件中加入
[SIMPLIFIED CHINESE]
Font.Default.Plain=/u01/testenv/testappl/fnd/11.5.0/resource/ADUOSC.ttf
Font.Default.Bold=/u01/testenv/testappl/fnd/11.5.0/resource/ADUOSCB.ttf

2.建立语言支持
进入$ORACLE_HOME/guicommon6/tk60/admin(/u01/testenv/testora/8.0.6/guicommon6/tk60/admin)
在 Tk2Motif.rgb 文件中加入
Tk2Motif*fontMapCs: gb2312.1980-0=zhs16gbk
Tk2Motif*fontMapCs: iso8859-1=UTF8

3.建立环境变量支持
进入$APPL_TOP(/u01/testenv/testappl)
在 TEST_erp.env 中增加以下内容
IX_PRINTING=$FND_TOP/resource/pasta.cfg
export IX_PRINTING

TK60_UNKNOWN=/u01/testenv/testora/8.0.6/guicommon6/tk60/admin/ZHS
export TK60_UNKNOWN
APPLORB=ar60runb;
export APPLORB
APPLORC=ar60run;
export APPLORC
LPDEST=[printer];
export LPDEST
PRINTER=[printer];
export PRINTER
PASTA=/u01/testenv/testappl/fnd/11.5.0/resource/pasta.cfg
export PASTA