日期:2014-05-16  浏览次数:20669 次

Linux下Oracle10g OEM中文显示为方框的解决办法
在Linux Redhat el5上安装了oracle10g,linux是英文版的,oracle选择了GB的字符集。这样数据库是可以存储中文的。但是OEM中,页面上的中文字符显示正常,但是按钮中的中文全部是方框。于是百度了一下(Google现在不太好使了,呵呵),具体步骤如下:
1、使用oracle用户登录
2、使用命令 emctl stop dbconsole 停止OEM
3、找到如下三个目录:
    $ORACLE_HOME/jdk/jre/lib
    $ORACLE_HOME/jre/1.4.2/lib
    $ORACLE_HOME/javavm/lib/ojvmfonts
   将每个目录下的font.properties.zh_CN.Redhat覆盖font.properties。不过强烈建议先备份哦。
4、打开第3步中的一个font.properties文件,查看最后一行:
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf
   查看字体文件/usr/share/fonts/zh_CN/TrueType/zysong.ttf是否存在。若存在直接进入第6步。
5、我发现linux系统中连zh_CN文件夹都没有,于是先创立了zh_CN文件夹和TrueType文件夹,然后从windows系统的C:/Windows/fonts文件夹中找了一个中文字体文件,我使用的是STSONG.TTF,将其重命名为zysong.ttf,拷贝到了 /usr/share/fonts/zh_CN/TrueType/ 中
6、清除OEM缓存的图片文件,其目录为:
$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs
   使用 rm *.gif 和 rm.*.imx 命令清除缓存的图片文件。
7、使用命令 emctl start dbconsole 启动OEM,然后在windows中就可以访问OEM,按钮中的中文显示出来了。


心得:可以选在自己喜欢的中文字体使用,改字体的作用应该就是为了显示按钮中的中文而使用的。不过我推测,OEM中的按钮都是根据当前浏览器语言自动生成的图片,Oracle还真是强大,这种方式都想得到