现在的位置: 首页 > 综合 > 正文

ORACLE 11g&10g EM乱码问题解决

2018年04月07日 ⁄ 综合 ⁄ 共 2942字 ⁄ 字号 评论关闭

http://www.itpub.net/thread-1244186-1-2.html

ORACLE11G EM乱码问题解决

前几天有 人发帖问到SUSE ORACLE11G RAC上搭建EM 乱码问题,查看了一下本人以前的文章,竟然找到了解决方法.
em的乱码是由java引起的,em的按钮是由java生成的图,因此解决此问题变成了解决java的乱码问题.

oracle 11g使用的是jdk1.5,jdk1.5以后有了一个简便方法来解决这个问题,只需在$JAVA_HOME/jre/lib/fonts/下建一个fallback目录,把你想在java中使用的字体复制到这个目录中即可,在oracle用户下:

$ mkdir $ORACLE_HOME/jdk/jre/lib/fonts/fallback

把windows(C:/WINDOWS/Fonts/simsun.ttc)下的字体文件simsun.ttc复制到$ORACLE_HOME/jdk/jre/lib/fonts/fallback目录下并改名simsun.ttf(注意ms的simsun字体是有版权的,所以商用换其他字体),相应的权限改为oracle用户可用.

之后需要清理一下Cache,重启EM即可:
$ rm $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*.gif

$ emctl stop dbconsole
$ emctl start dbconsole

Oracle10g EM乱码之快速解决
http://www.eygle.com/archives/2006/03/oracle10g_em_font_change.html
登陆Web页面查看,EM显示就可以正常显示中文了

如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择. 在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件: [oracle@danaly ~]$ cd $ORACLE_HOME/jdk/jre/lib[oracle@danaly lib]$ ls font*zh_CN*font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1 font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun[oracle@danaly lib]$ cd $ORACLE_HOME/jre/1.4.2/lib/[oracle@danaly lib]$ ls font*zh_CN*font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1 font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun 我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件: [oracle@danaly lib]$ cp font.properties.zh_CN.Redhat font.properties 替换之后需要清理一下Cache,重启EM即可. Cache路径通常位于: $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs 清除所有gif文件即可.

rm -rf zhs

然后重新启动EM: [oracle@danaly zhs]$ emctl stop dbconsoleTZ set to PRCoracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 Copyright (c) 1996, 2005 oracle Corporation. All rights reserved.http://danaly.hurrray.com.cn:1158/em/console/aboutApplicationStopping oracle Enterprise Manager 10g Database Control ... ... Stopped. [oracle@danaly zhs]$ emctl start dbconsoleTZ set to PRCoracle Enterprise Manager 10g Database Control Release 10.2.0.1.0 Copyright (c) 1996, 2005 oracle Corporation. All rights reserved.http://danaly.hurrray.com.cn:1158/em/console/aboutApplicationStarting oracle Enterprise Manager 10g Database Control .............. started. ------------------------------------------------------------------Logs are generated in directory /opt/oracle/product/10.2.0/danaly.hurrray.com.cn_danaly/sysman/log 现在登陆Web页面,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 这个问题在Redhat中,被作为Bug在后续版本中被修正: Bug 445297 - Add fonts-chinese-zysong package for zysong font from fonts-chinese. https://bugzilla.redhat.com/show_bug.cgi?id=445297 zysong.ttf字体下载

抱歉!评论已关闭.