本周我们升级到JasperReports Server 4.7(专业版)和iReport 4.7。我有几个我在iReport 4.5.1中创建并在JasperReports Server 4.5.1中成功使用的报告。
升级后,我所有的美元符号现在都是小盒子。我的货币字段的模式是¤#,## 0.00。生成报告时,JasperReports Server不会使用美元符号替换该框。模式样本中的一切看起来都很好。我的百分比符号仍然有效。我尝试删除并再次将货币模式应用于字段,但这并没有解决问题。
关于我如何解决这个问题的任何想法?
答案 0 :(得分:4)
这是Java按预期运行...但不是因为你希望运行它。您的区域设置未指定货币,因此您将获得“¤”符号。
您可以通过将区域设置从“en”更改为“en_US”来解决此问题。我上周才这样做了。作为旁注,我找到了一个我需要做的调整。将语言环境更改为en_US后,我需要复制一个这样的文件:
cp .../jasperserver-pro/scripts/jquery/js/jquery.ui.datepicker-en.js .../jasperserver-pro/scripts/jquery/js/jquery.ui.datepicker-en-US.js
或者,我通常会发现最好通过设置格式掩码来使用硬编码的美元符号来解决它。如果您向美国用户显示“$ 50.00”,则向欧洲用户显示“€50,00”或对日本用户显示相同值的“¥50.00”将是荒谬的。很多时候,硬编码的货币符号更合适。