websphere jfreechart中文字体显示问题

来源:互联网 发布:10年前让你做淘宝你说 编辑:程序博客网 时间:2024/05/13 02:10
Websphere jvm 设置中文试一下
-DLANG=zh_CN -Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=zh -Duser.region=CN
在基于WebSphere做Web开发的时候大多情况下会使用JFreeChart作为Web报表生成工具,但是在Unix平台上经常会出现中文输出乱码或者一个个小方块的情况。这个问题的解决方法如下:

1、JVM参数设置
     -Djava.awt.headless=true -Duser.language=zh -Duser.region=CN -Dfile.encoding=GBK -Dclient.override.encoding=GBK

2、用以下内容替换WebSphere自带的Java包(在java/jre/lib目录下)中的字体属性文件(font.properties)中的内容,但替换之间别忘记首先备份一下。
# @(#)font.properties.zh_GB18030 1.2 02/03/07
#
# Copyright 2002 Sun Microsystems, Inc. All rights reserved.
#
# (C) [Copyright] 2002, 2003 Hewlett-Packard Development Company,L.P.

# Component Font Mappings
# Java fontpath definition
#
# Java's fontpath is created by prepending this property to
# JAVA_HOME/lib/fonts. (The default for hp.fontpath is in 
# the HP JDK Release Notes.) Java reads the fonts.dir files 
# found along the fontpath to register scalable fonts.
#
# !!!!  Modification of this Fontpath will require corresponding
# changes in the font mappings below !!!!!

hp.fontpath=/usr/lib/X11/fonts/ms.st/typefaces:/usr/lib/X11/fonts/TrueType/chinese_s.st/typefaces:


#
# Font default Properties for Simplified Chinese (zh_CN.gb18030 locale)
# on HP-UX
#
serif.0=-monotype-times new roman-medium-r-normal--*-%d-*-*-p-*-iso8859-1
serif.1=-zyec-zycjksun-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

serif.italic.0=-monotype-times new roman-medium-i-normal--*-%d-*-*-p-*-iso8859-1
serif.italic.1=-zyec-zycjksun-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

serif.bold.0=-monotype-times new roman-bold-r-normal--*-%d-*-*-p-*-iso8859-1
serif.bold.1=-zyec-zycjksun-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


serif.bolditalic.0=-monotype-times new roman-bold-i-normal--*-%d-*-*-p-*-iso8859-1
serif.bolditalic.1=-zyec-zycjksun-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


sansserif.0=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso8859-1
sansserif.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

sansserif.italic.0=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso8859-1
sansserif.italic.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

sansserif.bold.0=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso8859-1
sansserif.bold.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


sansserif.bolditalic.0=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso8859-1
sansserif.bolditalic.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


monospaced.0=-monotype-courier new-medium-r-normal--*-%d-*-*-m-*-iso8859-1
monospaced.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


monospaced.italic.0=-monotype-courier new-medium-i-normal--*-%d-*-*-m-*-iso8859-1
monospaced.italic.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

monospaced.bold.0=-monotype-courier new-bold-r-normal--*-%d-*-*-m-*-iso8859-1
monospaced.bold.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


monospaced.bolditalic.0=-monotype-courier new-bold-i-normal--*-%d-*-*-m-*-iso8859-1
monospaced.bolditalic.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


dialog.0=-monotype-arial-medium-r-normal--*-%d-*-*-p-*-iso8859-1
dialog.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

dialog.italic.0=-monotype-arial-medium-i-normal--*-%d-*-*-p-*-iso8859-1
dialog.italic.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

dialog.bold.0=-monotype-arial-bold-r-normal--*-%d-*-*-p-*-iso8859-1
dialog.bold.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

dialog.bolditalic.0=-monotype-arial-bold-i-normal--*-%d-*-*-p-*-iso8859-1
dialog.bolditalic.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


dialoginput.0=-monotype-courier new-medium-r-normal--*-%d-*-*-m-*-iso8859-1
dialoginput.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

dialoginput.italic.0=-monotype-courier new-medium-i-normal--*-%d-*-*-m-*-iso8859-1
dialoginput.italic.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

dialoginput.bold.0=-monotype-courier new-bold-r-normal--*-%d-*-*-m-*-iso8859-1
dialoginput.bold.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn


dialoginput.bolditalic.0=-monotype-courier new-bold-i-normal--*-%d-*-*-m-*-iso8859-1
dialoginput.bolditalic.1=-zyec-zycjkhei-medium-r-normal--*-%d-*-*-m-*-iso10646.2000-cn

 

# Missing Glyph Character
#
default.char=274f

# Component Font Character Encodings
#
fontcharset.serif.0=sun.io.CharToByteISO8859_1 
fontcharset.serif.1=sun.io.CharToByteHPGB18030

fontcharset.sansserif.0=sun.io.CharToByteISO8859_1
fontcharset.sansserif.1=sun.io.CharToByteHPGB18030

fontcharset.monospaced.0=sun.io.CharToByteISO8859_1
fontcharset.monospaced.1=sun.io.CharToByteHPGB18030

fontcharset.dialog.0=sun.io.CharToByteISO8859_1
fontcharset.dialog.1=sun.io.CharToByteHPGB18030

fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1
fontcharset.dialoginput.1=sun.io.CharToByteHPGB18030

# font convertor for JWS private font
fontcharset.jwsfixedwidthfont.0=sun.io.CharToByteISO8859_1
fontcharset.jwsfixedwidthfont.1=sun.io.CharToByteHPGB18030
fontcharset.jwsfixedwidthfont.2=sun.awt.CharToByteSymbol
fontcharset.jwsfixedwidthfont.3=sun.awt.CharToByteSymbol

# Exclusion Ranges
#

exclusion.dialog.0=00a0-f8ff
exclusion.dialoginput.0=00a0-f8ff
exclusion.serif.0=00a0-ffff
exclusion.sansserif.0=00a0-f8ff
exclusion.monospaced.0=00a0-f8ff


# XFontSet Information
#
fontset.serif.plain=\
-adobe-times-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn

fontset.serif.italic=\
-adobe-times-medium-i-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn

fontset.serif.bold=\
-adobe-times-bold-r-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn

fontset.serif.bolditalic=\
-adobe-times-bold-i-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn

fontset.sansserif.italic=\
-adobe-helvetica-medium-o-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.sansserif.bold=\
-adobe-helvetica-bold-r-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.sansserif.bolditalic=\
-adobe-helvetica-bold-o-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.sansserif.plain=\
-adobe-helvetica-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn

fontset.monospaced.italic=\
-adobe-courier-medium-o-normal--*-%d-*-*-m-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.monospaced.bold=\
-adobe-courier-bold-r-normal--*-%d-*-*-m-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.monospaced.bolditalic=\
-adobe-courier-bold-o-normal--*-%d-*-*-m-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.monospaced.plain=\
-adobe-courier-medium-r-normal--*-%d-*-*-m-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.dialog.italic=\
-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.dialog.bold=\
-b&h-lucida-bold-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.dialog.bolditalic=\
-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.dialog.plain=\
-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.dialoginput.italic=\
-b&h-lucida-medium-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.dialoginput.bold=\
-b&h-lucidatypewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.dialoginput.bolditalic=\
-b&h-lucida-bold-i-normal-sans-*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.dialoginput.plain=\
-b&h-lucidatypewriter-medium-r-normal-sans-*-%d-*-*-m-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn

fontset.default=\
-adobe-times-medium-r-normal--*-%d-*-*-p-*-iso8859-1,\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
#

#
# Special font for JWS PCE
fontset.jwsfixedwidthfont.italic=\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn
 
fontset.jwsfixedwidthfont.bold=\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn


fontset.jwsfixedwidthfont.bolditalic=\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn

fontset.jwsfixedwidthfont.plain=\
-hp-song-medium-r-normal--*-%d-*-*-c-*-iso10646.2000-cn

另外这个字体文件只适用于HP Unix系统。

以上方法同样适用于基于JFreeChart的JPivoit包的中文显示问题。