前面讲 将font.properties内的代码TTF路径修改成自己的中文TTF文件路径。
也可以用另一种方法,不需要修改路径,只需在fonts文件夹下新建一个文件夹目录,与原代码的路径相对应即可。
详细参见 Ubuntu 6.10中JDK 1.5与 Oracle 10g中文乱码问题的解决
JDK 1.5中文问题的解决
查看这个文件的末尾部分,可以看见几行设定字体路径的代码。当然我们只需要关心简体中文字体的路径:
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
发现中文乱码终于不见了。