oracle中的em与isqlplus按钮中文乱码解决

Migu_naic

贡献于2013-02-01

字数:4007 关键词: Oracle 数据库服务器

12.Oracle10g em和isqlplus乱码解决方法 一直没怎么用10g的EM工具,今天打开来看看,发现也有相传已久的乱码问题.网上也流传着N种解决方案,仔细看一下,其实这个问题很好解决. 如果安装时,我们系统环境变量设置的是中文环境,那么就不会有这个问题.这个问题根本原因在于安装时,JDK/JRE字符集的自动选择. 1.字体的替换 在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件: 我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件: 2.Cache的清理 替换之后需要清理一下Cache,重启EM即可. Cache路径通常位于: 并且同时需要清理一下isqlplus的Cache,重启isqlplus即可。 Cache路径通常位于: $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/isqlplus/isqlplus/cabo/images/cache/zhs/* 清除所有gif文件即可.然后重新启动EM或ISQLPLUS: 现在登陆Web页面,EM显示就可以正常显示中文了. 3.字体的检查 注意:如果经过以上处理仍然不能正确显示中文,请参考以下说明: 打开刚替换好的font.properties,或者查看原有的中文字体文件: [oracle@smsdbracl lib]$ tail -2 font.properties.zh_CN.Redhat Filename.-misc-zysong18013-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf 注意其中包含了filename指向中文字体文件,请确认该文件在你的服务器上是否存在,如果不存在,改换一个存在的中文字体文件即可,也可以自行下载安装新的字体文件: [oracle@smsdbracl 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字体下载 如果没有该文件,从windows平台拷贝宋体ttf文件,位于C:/WINDOWS/Fonts,改名为zysong.ttf Oracle中em与isqlplus按钮中文乱码解决 1)法1 在 $ORACLE_HOME/jdk/jre/lib 和 $ORACLE_HOME/jre/1.4.2/lib/ 目录下都有多种字符集字体配置文件: $ORACLE_HOME/jdk/jre/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_HOME/jre/1.4.2/lib [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路径通常位于: $ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs/* $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 重新下载java环境JDK http://java.sun.com/j2se,并安装: [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工具都正常显示中文。

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享文档获得金币 ]
1 人已下载

下载文档

相关文档