关于DBControl乱码的解决
启动了EM之后就可以通过提示的地址和端口进行登录了,如图2-12所示。
图2-12 登录到数据库
可是在很多平台(通常是Linux/UNIX)上,如果客户端使用中文操作系统及浏览器,则很可能看到的是一系列乱码,中文不能正常显示。
这其实是和安装时的选项有关,如果数据库服务器系统环境变量设置的是中文环境,那么通常就不会有这个问题,这个问题根本原因在于安装时,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)即可,这里选择使用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文件之后重新启动EM,现在登录Web页面,就可以正常显示中文了。对于一些特殊的情况,可以查看具体的properties 文件,确认其中设定的字体文件是否存在。
解决乱码问题的另外一个临时性解决方案是,将客户端浏览器的首选语言选项设置为英文,那么EM将以英文方式显示提示信息,乱码就不会出现了。