Oracle Reports 11g - Oracle WebLogic - 报告字体

时间:2017-04-28 17:45:29

标签: linux oracle oracle11g weblogic oraclereports

渲染报告时我遇到了问题。我有三种环境:

  • 本地:Windows 10 x64
  • 开发:Linux RedHat 6.5
  • Preprod:Linux RedHat 6.5

在第一时间,报告在本地环境中设计了一个名为“Courier New”的字体,当它通过URL部署在Local中时:

reports/rwservlet?server=<<SERVER>>&report=<<REPORT>>rep&destype=CACHE&desformat=PDF&paramform=no&<<REPORT_PARAMS>>

它可以生成所有信息,但是当它在开发中被复制和编译时,会生成奇怪的字符,例如:

'SUPERIORES'='ΣΥΠΕΡΙΟΡΕΣ'

'PROCESO'='ΠΡΟΧΕΣΟ'

'CONTRATO'='ΧΟΝΤΡΑΤΟΣ'

但是,只有少数文本标签和字段使用此字形呈现,而其他文本呈现为OK。我想也许如果我将字体从'Courier New'更改为'Consolas'(必须使用等宽字体)可以解决问题。确实是在部署到开发环境时。

在Preprod环境中进行部署时会出现问题,因为虽然我使用'Consolas'字体编译了来自Development的报告,但所有文本字段和标签都没有例外,使用这些字形呈现,无论它是否在大写或小写,例如:

'Alta de Contratos'='ΑλταδεΧοντρατοσ'

由于控制和权限,我限制了对开发和预配置服务器配置的访问权限,但是他们的设置是由某人制作的,他们没有正确复制它。

到目前为止我尝试的是:

  1. 我确保两台服务器中的已编译资源(.rep文件)相同
  2. 尝试按照here所述验证文件和配置,自安装以来看起来没有变化。
  3. 验证两台服务器$ORACLE_INSTANCE/reports/fonts中的字体,字体'Consolas'(粗体,粗体斜体,斜体和常规)的所有变体以及“Courier New”。< / LI>
  4. 检查两个linux中的bash_profile,没有区别。也许这个变量告诉NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P15
  5. 我意识到开发环境的$REPORTS_PATH中有一个文件夹。包含所有字体,如$ORACLE_INSTANCE/reports/fonts路径,并且它不在preprod环境中,所以我将此文件夹复制到preprod的$REPORTS_PATH,但我确定必须有像env这样的设置。变量告诉weblogic必须从该目录中读取字体,但我不知道在哪里设置它。
  6. 我不知道自己错过了什么,也许那些遇到过这个问题的人可能会很高兴。提前谢谢。

1 个答案:

答案 0 :(得分:0)

可能完全不相关,但试图迫使Linux环境使用UTF-8以外的编码,当Linux已经十多年前完全迁移到unicode时,必然会在某处失败。您没有使用像AIX,Solaris或Windows这样的遗留系统。