Oracle中em与isqlplus按钮中文乱码解决
2011-03-17 10:09:54
分类: Linux
1)法1
在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件:
[oracle@oraserver ~]$
cd $ORACLE_HOME/jdk/jre/lib
[oracle@oraserver lib]$
ls font*zh_CN*
font.properties.zh_CN.Redhat font.properties.zh_CN.Sun
font.properties.zh_CN.Redhat2.1 font.properties.zh_CN_UTF8.Sun
[oracle@oraserver lib]$
cd $ORACLE_HOME/jre/1.4.2/lib/
[oracle@oraserver lib]$
ls font*zh_CN*
font.properties.zh_CN.Redhat font.properties.zh_CN.Sun
font.properties.zh_CN.Redhat2.1 font.properties.zh_CN_UTF8.Sun
[oracle@oraserver lib]$
我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件font.properties
[oracle@oraserver lib]$
cp font.properties.zh_CN.Redhat font.properties
同时查看font.properties文件,确认文件中指定的字体文件zysong.ttf在系统内存在。若不存在需要修改此文件。
filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf
注:也可用其他字体文件。指定字体文件路径即可。替换之后需要清理一下Cache,重启EM即可.
Cache路径通常位于:
rm -rf $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*
rm -rf $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/cabo/images/cache/zhs/*
清除所有gif文件即可.然后重新启动EM与isqlplus:
[oracle@oraserver zhs]$
emctl stop dbconsole
[oracle@oraserver zhs]$
emctl start dbconsole
[oracle@oraserver zhs]$
isqlplus stop
[oracle@oraserver zhs]$
isqlplus start
现在登陆Web页面,EM显示就可以正常显示中文了.
注意:如果经过以上处理仍然不能正确显示中文,则继续使用法2。
2)法2
[oracle@oraserver ~]#
chmod 777 jdk-6u23-linux-i586.bin
[oracle@oraserver ~]#
./jdk-6u23-linux-i586.bin
将生成的目录拷贝到任意目录,如$ORACLE_HOME
[oracle@oraserver ~]$
cp -R jdk1.6.0_23 /orahome/oracle/product/10.2.0/db_1/
查看$ORACLE_HOME/bin/目录下的emctl于isqlplusctl内的JAVA_HOME于JRE_HOME变量设置。
emctl中的设置:
JAVA_HOME=$ORACLE_HOME/jdk
JRE_HOME=$ORACLE_HOME/jdk/jre
PERL_BIN=$ORACLE_HOME/perl/bin
PERL_HOME=$ORACLE_HOME/perl
EM_STANDALONE=NOSTANDALONE
isqlplusctl中的设置
ORACLE_HOME=/orahome/oracle/product/10.2.0/db_1
JAVA_HOME=/orahome/oracle/product/10.2.0/db_1/jdk
JRE_HOME=/orahome/oracle/product/10.2.0/db_1/jre
根据以上两个文件的设置,讲ORACLE自带的jdk与jre目录改名
[oracle@oraserver zhs]$
cd $ORACLE_HOME
[oracle@oraserver db_1]$
pwd
/orahome/oracle/product/10.2.0/db_1/
[oracle@oraserver db_1]$
mv jdk jdkold
[oracle@oraserver db_1]$
mv jre jreold
为新的JDK创建软连接。 使其符合emctl与isqlplusctl文件中JAVA_HOME与JRE_HOME的设置:
[oracle@oraserver db_1]$
pwd
/orahome/oracle/product/10.2.0/db_1/
[oracle@oraserve db_1]$
ln -s jdk1.6.0_23 jdk
[oracle@oraserve db_1]$
ln -s jdk1.6.0_23/jre jre
清空Cache的图标文件
rm -rf $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/*
rm -rf $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/cabo/images/cache/zhs/*
然后重新启动EM与isqlplus:
[oracle@oraserve db_1]]$
emctl stop dbconsole
[oracle@oraserve db_1]]$
emctl start dbconsole
[oracle@oraserve db_1]]$
isqlplus stop
[oracle@oraserve db_1]]$
isqlplus start
此方法可使其他gui工具都正常显示中文。