linux安装数据库乱码,Linux上Oracle安装前汉字乱码和安装后创建数据库乱码的解决方法...

相信每一位在Linux上安装过Oracle的朋友都受过汉字”口口”形乱码的困扰,在论坛上搜索了一下,没有找到完整的解决方案,大都是建议将Linux改成英文环境,有部分回复提到过更改font.properties的解决方案,但语焉不详,帮助不大。

当然,将Linux改成英文环境不是不可以,但除了Oracle外,现在的Linux上的Java程序越来越多,很多程序没有像Oracle那样提供了多种语言资源,即使将Linux改成了英文环境,也会有”口口”形乱码。所以如果能解决掉这个乱码的问题是一举多得滴。

鉴于此种情况,偶在网上搜索了一些资料,结合实践一步一步摸索,终于把这个问题搞通了。

其实操作不是十分复杂,只要对Linux的操作有些了解,是可以在一刻钟内搞定的。

偶整理此文,一方面是怕以后再做类似操作时记不起来了,另一方面也希望对遇到类似问题的朋友们有所帮助。

一.        安装JDK

在/tmp下建立一个临时的文件夹

[root@lsjlinux root]# cd /tmp

[root@lsjlinux root]# mkdir javacn

[root@lsjlinux tmp]# cd javacn

从sun网站上下载j2sdk-1_4_2_02-linux-i586.bin并保存到/tmp/javacn

给文件加上可执行的权限

[root@lsjlinux javacn]# chmod 755 j2sdk-1_4_2_02-linux-i586.bin

执行文件安装JDK

[root@lsjlinux javacn]# ./j2sdk-1_4_2_02-linux-i586.bin

......(一大堆的license的信息)

询问是否同意,当然选yes

.........

安装完后删除安装文件

[root@lsjlinux javacn]# rm -rf *.bin

感觉起来这个安装就是解压一下而已,解压出来的结果就是j2sdk1.4.2_02这个文件夹。

这个文件夹不能放在/tmp里面,要不哪天一不小心删除了怎么办,搬家并改名!

[root@lsjlinux javacn]# mv j2sdk1.4.2_02 /usr/j2sdk

现在JDK还不能算安装完成了,还要设置一下环境变量:

[root@lsjlinux usr]# cd /etc

[root@lsjlinux etc]# vi profile

在export PATH前加入下面一段

JAVA_HOME=/usr/j2sdk

export JAVA_HOME

JRE=$JAVA_HOME/jre

export JRE

PATH=$JAVA_HOME/bin:$JRE/bin:$PATH

现在注销一下并重登录

OK,JDK安装完毕!二.        安装系统字体

将附件文件解压到/tmp/javacn中,解压后的结果如下所示:

[root@lsjlinux root]# cd /tmp

[root@lsjlinux tmp]# cd javacn

[root@lsjlinux javacn]# ls -l

总用量 23184

-rw-r--r--    1 root     root         8102 1970-01-01  font.properties

drwxr-xr-x    9 root     root         4096  6月 24 15:36 j2sdk1.4.2_02

-rw-r--r--    1 root     root     12642204 1970-01-01  SimSun18030.ttc

-rw-r--r--    1 root     root     10500352 1970-01-01  simsun.ttc

-rw-r--r--    1 root     root         7764 1970-01-01  sm.sh

-rw-r--r--    1 root     root       260472 1970-01-01  tahomabd.ttf

-rw-r--r--    1 root     root       265528 1970-01-01  tahoma.ttf

下面需要将$JRE/lib中的font.properties文件改名备份,并将/tmp/javacn中的font.properties文件拷贝到$JRE/lib中

[root@lsjlinux root]# cd $JRE

[root@lsjlinux jre]# cd lib

[root@lsjlinux lib]# mv font.properties font.properties.bak

[root@lsjlinux lib]# cp /tmp/javacn/font.properties ./

剩下的操作就是执行/tmp/javacn/sm.sh了。

在执行sm.sh后系统后自动重启,所以在执行下面的操作前请一定保存正在进行的工作!

[root@lsjlinux root]# cd /tmp

[root@lsjlinux tmp]# cd javacn

[root@lsjlinux javacn]# ./sm.sh

bash: ./sm.sh: 权限不够

[root@lsjlinux javacn]# chmod 755 sm.sh

[root@lsjlinux javacn]# ./sm.sh

此处操作系统会重新启动。

第二部分操作完成。

三.        设置操作系统字体

重新启动登录后,按如下步骤操作:

(下面的步骤是KDE里的,GNOME里应该差不多)

开始->控制中心->外观和主题->字体

点调整所有字体,按如下界面中配置,选中字体复选框,并在列表中选择Simsun(实际上这个就是大家在Window里很熟悉的宋体),字体样式不用管它,大小复选框选中,并在列表中选择9,配置完成后点确定。

回到上一层窗口点应用并关闭窗口。

现在应该能明显感觉到Linux里的字体变得好看一些了。

但还有问题,打开终端控制台,发现字体间距太宽了,

这个好解决,点终端控制台的菜单:

设置->字体->定制

弹出如下窗口:

左边列表中选择Monospace,大小一列中选择9即可。

设置完了千万要记得保存一下:

设置->保存设置

OK,界面字体调整完毕!

四.        安装Oracle

此时切换到Oracle用户,运行./runInstaller,出来的界面应该是亲切的中文界面了,如果还是乱码请检查上面的步骤。

安装Oracle的步骤在此就不费笔墨了。

不过安装完后还有一点小小的尾巴工程。

安装完后运行dbca创建数据库时发现又是乱码,这个在网上没有资料提到过,偶经过反复摸索才找到了问题所在,原来Oracle安装后它会装上自己的JDK,它的几个工具用得都是它自己的JDK,咱们前面所做的努力都没有起作用。

不过这个好解决,改!

只需更改红色的部分,其他地方不需要更改

先改dbca

bash-2.05$ cd $ORACLE_HOME

bash-2.05$ cd bin

bash-2.05$ vi dbca

将最后一段

# Run DBCA

$JRE_DIR/bin/jre -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASS

PATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

改成:

# Run DBCA

java -DORACLE_HOME=$OH -DJDBC_PROTOCOL=thin -mx64m -classpath $CLASS

PATH oracle.sysman.assistants.dbca.Dbca $ARGUMENTS

再改oemapp

bash-2.05$ vi oemapp

也是最后一段

if [ "$1" = "ocmcli" ]

then

exec $JRE -DADMIN_WRL=$ADMIN_WRL -DORACLE_HOME=$ORACLE_HOME -DORBdisableLoca

tor=true -Djdbc.backward_compatible_to_816=true $JREOPTIONS_STRING -$CLASSPATH_Q

UAL $CLASSPATHADD oracle.sysman.vtx.vtxOemApp.OemApp $APPLICATION "$2" "$3" "$4"

"$5" "$6" "$7" "$8" "$9"

else

exec $JRE -DADMIN_WRL=$ADMIN_WRL -DORACLE_HOME=$ORACLE_HOME -DORBdisableLoca

tor=true -Djdbc.backward_compatible_to_816=true $JREOPTIONS_STRING -$CLASSPATH_Q

UAL $CLASSPATHADD oracle.sysman.vtx.vtxOemApp.OemApp $APPLICATION $2 $3 $4 $5 $6

$7 $8 $9

fi

改成:

if [ "$1" = "ocmcli" ]

then

java -DADMIN_WRL=$ADMIN_WRL -DORACLE_HOME=$ORACLE_HOME -DORBdisableLoca

tor=true -Djdbc.backward_compatible_to_816=true $JREOPTIONS_STRING -$CLASSPATH_Q

UAL $CLASSPATHADD oracle.sysman.vtx.vtxOemApp.OemApp $APPLICATION "$2" "$3" "$4"

"$5" "$6" "$7" "$8" "$9"

else

java -DADMIN_WRL=$ADMIN_WRL -DORACLE_HOME=$ORACLE_HOME -DORBdisableLoca

tor=true -Djdbc.backward_compatible_to_816=true $JREOPTIONS_STRING -$CLASSPATH_Q

UAL $CLASSPATHADD oracle.sysman.vtx.vtxOemApp.OemApp $APPLICATION $2 $3 $4 $5 $6

$7 $8 $9

Fi

最后,是netca

bash-2.05$ vi netca

还是最后一段

# Run Net Configuration Assistant

cd $NETTOOLSDIR

$JRE -classpath $CLASSPATH oracle.net.ca.NetCA $*

exit $status

改成

# Run Net Configuration Assistant

cd $NETTOOLSDIR

java -classpath $CLASSPATH oracle.net.ca.NetCA $*

exit $status

OK,问题最终搞定,其他类似的问题可以类似解决!

如何,不是很复杂吧!

前面提到的附件可以到下面的链接下载:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值