解决Redhat linux9.0下jdk1.4.2_01-b06的中文问题

这几天准备对学习日记作点小的改动(房子虽然太简单,也需要修整修整呀),把停了一个来月的学习日记开发环境在linux下搭起来了。当我运行java软件ArgoUML建模,发现不能在软件中输入汉字,保存对话框的“是”与“否”的中文字体为方框。我知道碰到了传说中的linux下java的中文乱码问题。

于是,请出google老师,他帮我找到了一篇帖子,于是,受文中的启发,在下面目录对文件font.properties.zh_CN.Redhat8.0作了一个符号链接font.properties.zh.Redhat,中文乱码问题就没有了。如下:


ln -s /usr/jdk1.4/jre/lib/font.properties.zh_CN.Redhat8.0 /usr/jdk1.4/jre/lib/font.properties.zh.Redhat

很简单吧,但是我不知道具体原因是什么。也许font.properties.zh.Redhat是Redhat系统在java中的默认字体设置文件?哪为什么在这个目录下又有这么多的字体设置文件,如下:


[root@localhost lib]# dir font.*

font.properties                 font.properties.ja.Sun           font.properties.zh_CN.Sun

font.properties.ja              font.properties.ja.Turbo         font.properties.zh_CN_UTF8.Sun

font.properties.ja_JP_UTF8.Sun  font.properties.ja.Turbo6.0      font.properties.zh.Redhat

font.properties.ja.Redhat6.1    font.properties.ko.Redhat8.0     font.properties.zh.Turbo

font.properties.ja.Redhat6.2    font.properties.Redhat6.1        font.properties.zh_TW.Redhat8.0

font.properties.ja.Redhat7.2    font.properties.Redhat8.0        font.properties.zh_TW.Sun

font.properties.ja.Redhat7.3    font.properties.SuSE8.0          font.properties.zh_TW_UTF8.Sun

font.properties.ja.Redhat8.0    font.properties.zh_CN.Redhat8.0

[root@localhost lib]#

***********************************************************************************

附上那篇介绍有Redhat linux9.0下java中文设置的文章,实际上是一篇讲Redhat linux9.0下oracle安装的文章,也许以后用得着,收藏在这里参考:

转自:http://www.xxlinux.com/linux/article/development/database/20060905/3956.html

RedHat9.0操作的oracle9i安装

[ 作者:Linux联盟收集  加入时间:2006-09-05 21:52:36  来自:Linux联盟收集 ]

作者:pxe2

先安装修改java

标准 jre/jdk 中只带了 redhat 6 的 font.properties, 需要建一个 font.properties.zh.Redhat 放在 redhat 的 jre/lib 目录下。打开 /usr/lib/X11/fonts/ttf-zh 或者 /usr/share/fonts/zh_CN/TrueType 下面的 font.dir, 将其中的一个中文字体名复制下来,比如 -misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-iso10646-1,按照 java 的字体规则改为 -misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1,将 font.properties.zh 中的内容复制到 font.properties.zh.Redhat 中。

我选用字体 -misc-ZYSong18030-medium-r-normal--0-0-0-0-c-0-iso10646-1 是因为在 redhat 7.3 和 redhat 8.0 上都能用。

因为 jre/jdk 找不到 Redhat 的 true type 字体,在文件 font.properties.zh.Redhat 最后加入

appendedfontpath=/usr/lib/X11/fonts/ttf-zh

appendedfontpath=/usr/share/fonts/zh_CN/TrueType

将字体名全部替换成 -misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1,替换后的 font.properties.zh.Redhat 如下:

# @(#)font.properties.zh.Redhat.linux 1.4 02/06/10

#

# Copyright 2002 Sun Microsystems, Inc. All rights reserved.

#

# Component Font Mappings

#

serif.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

serif.italic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

serif.bold.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

serif.bolditalic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

sansserif.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

sansserif.italic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

sansserif.bold.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

sansserif.bolditalic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

monospaced.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

monospaced.italic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

monospaced.bold.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

monospaced.bolditalic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

dialog.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

dialog.italic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

dialog.bold.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

dialog.bolditalic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

dialoginput.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

dialoginput.italic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

dialoginput.bold.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

dialoginput.bolditalic.0=-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

# Missing Glyph Character

#

default.char=274f

# Component Font Character Encodings

#

fontcharset.serif.0=sun.io.CharToByteISO8859_1

fontcharset.serif.1=sun.awt.motif.CharToByteX11GBK

fontcharset.sansserif.0=sun.io.CharToByteISO8859_1

fontcharset.sansserif.1=sun.awt.motif.CharToByteX11GBK

fontcharset.monospaced.0=sun.io.CharToByteISO8859_1

fontcharset.monospaced.1=sun.awt.motif.CharToByteX11GBK

fontcharset.dialog.0=sun.io.CharToByteISO8859_1

fontcharset.dialog.1=sun.awt.motif.CharToByteX11GBK

fontcharset.dialoginput.0=sun.io.CharToByteISO8859_1

fontcharset.dialoginput.1=sun.awt.motif.CharToByteX11GBK

# Exclusion Ranges

#

# XFontSet Information

#

fontset.serif.plain=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.serif.italic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.serif.bold=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.serif.bolditalic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.sansserif.plain=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.sansserif.italic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.sansserif.bold=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.sansserif.bolditalic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.monospaced.plain=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.monospaced.italic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.monospaced.bold=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.monospaced.bolditalic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.dialog.italic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.dialog.bold=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.dialog.bolditalic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.dialog.plain=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.dialoginput.italic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.dialoginput.bold=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.dialoginput.bolditalic=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

fontset.dialoginput.plain=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

#fontset.default=

#-b&h-lucida-medium-r-normal-sans-*-%d-*-*-p-*-iso10646-1,

#-tlc-song-medium-r-normal--*-%d-*-*-c-*-gbk-0

fontset.default=

-misc-ZYSong18030-medium-r-normal--*-%d-*-*-c-*-iso10646-1

appendedfontpath=/usr/lib/X11/fonts/ttf-zh

appendedfontpath=/usr/share/fonts/zh_CN/TrueType

使用 Installanywhere 我们编译安装程序选择 "其它 java 平台" 编译成一个 java 的 setup.jar 文件,

在 Redhat 上面写一个批处理/脚本文件, set classpath , 包含 setup.jar,

批处理/脚本文件中使用 java install 启动安装程序。

繁体中文依法炮制即可,建立 font.properties.zh_TW.Redhat 文件,将其中的字体名改为一个繁体中文字体名,

在文件末尾加上合适的 appendedfontpath

___________________________________________________________

1安装好RedHat9.0操作系统,确保安装了以下的RPM开发包

gcc

cpp

glibc-devel

compat-libstdc++

glibc-kernheaders

binutils

可以使用命令来查看是否已安装了这些包

rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils

2从Oracle官方网站下载Oracle9i安装文件并使用如下命令解包

zcat lnx_920_disk1.cpio.gz | cpio -idmv

zcat lnx_920_disk2.cpio.gz | cpio -idmv

zcat lnx_920_disk3.cpio.gz | cpio -idmv

(注意磁盘空间)

然后会有Disk1 Disk2 Disk3三个子目录。

3设置内核参数

echo 4294967295 > /proc/sys/kernel/shmmax,建议放到/etc/rc.local文件里。



编辑/etc/sysctl.conf

kernel.shmmax=4294967295

我有512MB内存,所以设置这个数值。可根据实际情况设置。

4创建Oracle用户帐号和安装目录

在shell下,作为root

groupadd dba

groupadd oinstall

useradd -g oinstall -G dba oracle

passwd oracle

mkdir /opt/oracle

mkdir /opt/oracle/product

mkdir /opt/oracle/product/9.2.0

chown -R oracle.oinstall /opt/oracle

mkdir /var/oracle

chown oracle.dba /var/opt/oracle

chmod 755 /var/opt/oracle

5设置环境变量

编辑/home/oracle/.bash_profile文件,添加下列行

export LD_ASSUME_KERNEL=2.4.1

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=/opt/oracle/product/9.2.0

export ORACLE_SID=ora9i

export ORACLE_TERM=xterm

$ORACLE_HOME/network/admin

export NLS_LANG=AMERICAN_AMERICAN.ZHS16GBK

export ORA_NLS33=$ORACLE_HOME/ocommon/nls/asmin/data

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

export LD_LIBRARY_PATH

export PATH=$PATH:$ORACLE_HOME/bin

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

export CLASSPATH

6安装

进入Disk1目录

./runInstaller

当link进行到61%时出现一个关于ins_oemagent错误,选择ignore,安装完后修复

当link进行到84%时出现一个关于ins_ctx错误,编辑$ORACLE_HOME/ctx/lib/env_ctx.mk文件,把$(LDLIBFLAG)dl加到以下位置

INSO_LINK=-L$(CTXLIB)$ (LDLIBFLAG)m $(LDLIBFLAG)dl处。

安装完成

修复第一个错误

在shell下,oracle用户

cd $ORACLE_HOME/network/lib

make -f ins_client.mk install

编辑$ORACLE_HOME/ctx/lib/ins_ctx文件

13-14行处

$(LINK) $(CTXHXOBJ) $(INSO_LINK)



$(LINK) -ldl $(CTXHXOBJ) $(INSO_LINK)

7启动数据库、监听程序、web server。

启动数据库

Sqlplus " / as sysdba"

SQL>startup

启动监听程序

lsnrctl

启动web server

cd $ORACLE_HOME/Apache/Apache/bin

./startJServ.sh'

来源:linuxfans

还有问题请来论坛寻求帮助:http://www.xxlinux.com/bbs/

One thought on “解决Redhat linux9.0下jdk1.4.2_01-b06的中文问题”

  1. 上面的jdk版本是jdk1.4.2_01-b06,jdk1.4.2_12-b03不存在中文问题。在jdk1.4.212-b03的/jre/lib目录下存在一个font.properties.zh_CN.Redhat的文件,可能就解决了它的中文问题。里面有关字体的文件如下:


    [root@localhost lib]# dir font.*

    font.properties                     font.properties.ko.Redhat2.1

    font.properties.ja                  font.properties.Redhat6.1

    font.properties.ja_JP.Sun           font.properties.Redhat8.0

    font.properties.ja_JP.Sun2003       font.properties.SuSE8.0

    font.properties.ja_JP_UTF8.Sun      font.properties.zh_CN.Redhat

    font.properties.ja_JP_UTF8.Sun2003  font.properties.zh_CN.Redhat2.1

    font.properties.ja.Redhat3          font.properties.zh_CN.Redhat4

    font.properties.ja.Redhat4          font.properties.zh_CN.Sun

    font.properties.ja.Redhat6.1        font.properties.zh_CN_UTF8.Sun

    font.properties.ja.Redhat6.2        font.properties.zh_HK.Sun

    font.properties.ja.Redhat7.2        font.properties.zh_HK_UTF8.Sun

    font.properties.ja.Redhat7.3        font.properties.zh_HK_UTF8.Sun2003

    font.properties.ja.Redhat8.0        font.properties.zh.Turbo

    font.properties.ja.Turbo            font.properties.zh_TW.Redhat

    font.properties.ja.Turbo6.0         font.properties.zh_TW.Redhat2.1

    font.properties.ko_KR.Sun           font.properties.zh_TW.Sun

    font.properties.ko_KR_UTF8.Sun      font.properties.zh_TW_UTF8.Sun

    font.properties.ko_KR_UTF8.Sun2003  font.properties.zh_TW_UTF8.Sun2003

    font.properties.ko.Redhat

    [root@localhost lib]#

Comments are closed.