欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Ubuntu 6.10中JDK 1.5与 Oracle 10g中文乱码问题的解决 博客分类: Linux OracleJDKUbuntuRedHatSwing 

程序员文章站 2024-03-18 21:29:04
...

焦头烂额几个小时,最后发现解决办法如此简单。正所谓:
“踏破铁鞋无觅处,得来全不费工夫”

问题的实质就是JVM没有在默认的系统字体目录上找到需要的字体。

解决问题只需要一件东西:中文字体
你可以从WINXP下的C:\WINDOWS\fonts目录去烤贝,也可以从网上下载最新的雅黑字体。我用的就是雅黑字体。

JDK 1.5中文问题的解决

Ubuntu 6.10中JDK 1.5与 Oracle 10g中文乱码问题的解决
            
    
    博客分类: Linux OracleJDKUbuntuRedHatSwing sudogedit / usr / java / jdk1. 5 .0_10 / jre / lib / fontconfig.Redhat.3.properties.src


查看这个文件的末尾部分,可以看见几行设定字体路径的代码。当然我们只需要关心简体中文字体的路径:

filename.-misc-zysong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf

awtfontpath.chinese-gb18030=/usr/share/fonts/zh_CN/TrueType

对于Ubuntu 6.10,默认下是找不到/usr/share/fonts/zh_CN/TrueType目录和zysong.ttf字体文件的。在JDK 1.5下运行SWING程序出现中文乱码,原因就在此。所以接下来就要建立这个目录,并拷贝一个中文字体,并重命名为zysong.ttf。

至此,JDK1.5中文乱码问题已经解决。

Oracle 10g dbca界面中文乱码的解决

解决原理与上文相同,只不过JDK 1.5换成了JDK1.4.

sudo gedit {ORACLE_HOME}/jdk/jre/lib/font.properties

转到这个文件的末尾,可以看到两行代码:

filename.-misc-fzsongti-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/X11R6/lib/X11/fonts/truetype/songti_gb.ttf
appendedfontpath=/usr/X11R6/lib/X11/fonts/truetype

很凑巧,我的Ubuntu 6.10上面根本找不到/usr/X11R6/lib/X11/fonts/truetype这个目录。和上文一样,改为:
filename.-misc-fzsongti-medium-r-normal--*-%d-*-*-p-*-iso10646-1=/usr/share/fonts/zh_CN/TrueType/zysong.ttf
appendedfontpath=/usr/share/fonts/zh_CN/TrueType

运行一下dbca,发现中文终于显示正常了

Oracle 10g EM企业管理器WEB界面中的中文乱码的解决

这个要修改
{ORACLE_HOME}/jre/lib/font.properties文件,改动内容和上文完全一样。

$ emctl stop dbconsole
$ cd {ORACLE_HOME}//oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs
$ rm *.gif
$ emctl start dbconsole
然后把浏览器的缓存清理一下,重新访问:
http://localhost:1158/em
发现中文乱码终于不见了。