解决Oracle EM 乱码问题

时间:2022-01-13 01:54:57
原创 作者:fa042 时间:2012-11-17 16:50:34 199 0
Oracle 10g提供了一个基于Web的管理工具EM(Enterprise Manager),使用比较方便。不过,如果您使用的是中文Linux环境,而在安装Oracle的时候,没有加上简体中文语言的话,那登陆时,可能会发现中文按钮都是类似"□□"字样的乱码。下面就是解决这问题的方法。
该方法适合红旗Asianux 2.0、3.0等操作系统环境。

一、故障问题
打开http://ip:1158/em时,看到如下的显示,其中中文字符部分是乱码:

二、解决问题
1、改变$ORACLE_HOME/jdk目录下的jre的默认字体

# su - oracle
$ cd $ORACLE_HOME/jdk/jre/lib/
$ ls font*zh_CN*

其中,font.properties是默认使用的字体。还可以看到font.properties.zh_CN.Redhat和其它的字体。

$ cp font.properties font.properties.bak
$ cp font.properties.zh_CN.Redhat font.properties

2、改变$ORACLE_HOME/jre下的默认字体
使用上面同样的方法来操作。

$ cd $ORACLE_HOME/jre/1.4.2/lib/
$ ls font*zh_CN*
$ cp font.properties font.properties.bak
$ cp font.properties.zh_CN.Redhat font.properties

3、删除Cache下的gif文件
em里面会用到这些图片:

$ cd $ORACLE_HOME/oc4j/j2ee/oc4j_applications//
applications/em/em/cabo/images/cache/zhs/
$ ls *.gif
$ rm *.gif

注意不要搞错目录,修改的是中文环境的。

4、重新启动EM服务

$ emctl stop dbconsole
$ emctl start dbconsole

进入EM看看中文问题是否已经解决。

新打开的界面如下:

注意:如果经过以上处理仍然不能正确显示中文,请参考以下说明:

打开刚替换好的font.properties,或者查看原有的中文字体文件:

[oracle@smsdbrac1 lib]$ tail -2 font.properties.zh_CN.Redhat
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf

注意其中包含了filename指向中文字体文件,请确认该文件在你的服务器上是否存在,如果不存在,改换一个存在的中文字体文件即可,也可以自行下载安装新的字体文件:

[oracle@smsdbrac1 lib]$ ls -al /usr/share/fonts/zh_CN/TrueType/zysong.ttf
-rw-r--r-- 1 root root 9249332 Mar 29 2002 /usr/share/fonts/zh_CN/TrueType/zysong.ttf