一、出现故障:
在Linux环境中安装Oracle 10g,启用EM时。出现button显示乱码现象,例如以下:
二、分析问题:
由于在安装Oracle10g时,JDK/JRE自己主动选择了字符集,而在$ORACLE_HOME/jdk/jre/lib和$ORACLE_HOME/jre/1.4.2/lib文件夹下,都有多种字体。每个文件夹下都有一个缺省的字符集font.properties。我们仅仅要用合适的中文字符集来替换缺省字符集就可以。以下解决时选择的是“font.properties.zh_TW.Redhat”。
三、解决这个问题:
1.先停止OEM
emctl stop dbconsole
2.在每一个文件夹都透过下面指令覆盖档案
cp$ORACLE_HOME/jdk/jre/lib/font.properties.zh_TW.Redhat$ORACLE_HOME/jdk/jre/lib/font.properties
cp $ORACLE_HOME/jre/1.4.2/lib/font.properties.zh_TW.Redhat$ORACLE_HOME/jre/1.4.2/lib/font.properties
cp$ORACLE_HOME/javavm/lib/ojvmfonts/font.properties.zh_TW.Redhat$ORACLE_HOME/javavm/lib/ojvmfonts/font.properties
3.分别编辑
vi$ORACLE_HOME/jdk/jre/lib/font.properties
vi $ORACLE_HOME/jre/1.4.2/lib/font.properties
vi$ORACLE_HOME/javavm/lib/ojvmfonts/font.properties
改动最后一行的/usr/share/fonts/zh_CN/TrueType/zysong.ttf为/usr/share/fonts/chinese/TrueType/uming.ttf
4.进入OEM的图示路径,清除之前的档案
cd$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs
rm *.gif
rm *.imx
5.启动OEM
emctl start dbconsole
6.将em的网页显示变成英文
要查一下,linux中有没有安装对应的中文字符集,若没有说明没有安装对应中文字符集。能够到Linux的系统安装盘中去找到对应的rpm包,进行安装。(例:Linux是RHEL4版本号。安装盘里是ttfonts-zh_CN-2.14-6.noarch.rpm版本号的字符集)。或使用英文显示。
这里使用英文显示配置。
先查一下有没有中文字符集:
[oracle@gc1 lib]$ tailfont.properties
fontset.dialoginput.plain=
-b&h-luximono-medium-r-normal--*-%d-*-*-m-*-iso8859-1,
-isas-songti-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0
fontset.default=
-b&h-luxisans-medium-r-normal--*-%d-*-*-p-*-iso8859-1,
-isas-songti-medium-r-normal--*-%d-*-*-c-*-gb2312.1980-0
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646- 1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf
依据最后一行的路径。查看该文件是否存在,作者查找发现没有,改用英文显示,例如以下配置:
打开你的IE浏览器, 选择'工具"-->"Internet选项"-->"常规", 选择 "语言", 默认仅仅有 "中文", 选择 " 加入 ", 加入"英
语(美国)" , 调整顺序,把“英语(美国)”移动到最上面。