解决linux下oracle中文乱码的问题
解决linux下oracle中文乱码的问题2008-05-10 21:50解决linux下oracle中文乱码的问题 在Linux上安装过Oracle的时候汉字都是”口口”形乱码 最初时间比较紧张只能用英文安装,后来经过反复试验和整理,现在可以完全解决linux下oracle中文乱码的问题,下面是整理后的文档: 我想在linux 9 下也应该能够实现吧,这里主要还把系统添加了宋体和新宋体的字库,所以看着可能很麻烦 需要软件,google找 j2sdk-1_4_2_04-linux-i586.bin javacn.zip一.安装JDK 在/tmp下建立一个临时的文件夹 --------------------------------------------------- [root@tooth root]# cd /tmp [root@tooth root]# mkdir javacn [root@tooth root]# cd javacn ----------------------------------------------------将 j2sdk-1_4_2_02-linux-i586.bin并保存到/tmp/javacn 给文件加上可执行的权限 ---------------------------------------------------- [root@tooth root]# chmod 755 j2sdk-1_4_2_02-linux-i586.bin ----------------------------------------------------执行文件安装JDK ---------------------------------------------------- [root@tooth root]# ./j2sdk-1_4_2_02-linux-i586.bin ---------------------------------------------------- ......(一大堆的license的信息) 询问是否同意,当然选yes---------------------------------------------------- [root@tooth root]# mv j2sdk1.4.2_02 /usr/j2sdk ----------------------------------------------------现在JDK还不能算安装完成了,还要设置一下环境变量:---------------------------------------------------- [root@tooth root]# vi $HOME/.bash_profile 在export PATH前加入下面一段 JAVA_HOME=/usr/j2sdk export JAVA_HOME JRE=$JAVA_HOME/jre export JRE PATH=$JAVA_HOME/bin:$JRE/bin:$PATH---------------------------------------------------- 存盘退出,执行[root@tooth root]# source .bash_profile 这样设置的环境变量就生效了 二. 安装系统字体 将附件文件解压到/tmp/javacn中,解压后的结果如下所示: ---------------------------------------------------- [root@tooth root]# cd /tmp [root@tooth root]# cd javacn [root@tooth javacn]# ls -l ---------------------------------------------------- -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@tooth root]# cd $JRE [root@tooth jre]# cd lib [root@tooth lib]# mv font.properties font.properties.bak [root@tooth lib]# cp /tmp/javacn/font.properties ./ ----------------------------------------------------剩下的操作就是执行/tmp/javacn/sm.sh了。 在执行sm.sh后系统后自动重启,所以在执行下面的操作前请一定保存正在进行的工作!---------------------------------------------------- [root@tooth root]# cd /tmp [root@tooth tmp]# cd javacn [[root@tooth javacn]# chmod 755 sm.sh [root@tooth javacn]# ./sm.sh ---------------------------------------------------- 此处操作系统会重新启动。 三. 设置操作系统字体 重新启动登录后,按如下步骤操作: (下面的步骤是KDE里的,GNOME里应该差不多) 开始->控制中心->外观和主题->字体 可以将系统的字体修改为宋体simsun 一. Red Hat系统 1. 安装时选取简体中文安装,先复制simsun.ttc(宋体)simsun18030.ttc(新宋体)tahomabd.ttf tahoma.ttf到/usr/X11R6/lib/X11/fonts/TrueType下,并将所有ttc文件改为ttf文件; 2. 2.然后进入/usr/X11R6/lib/X11/font/TrueType目录下, 3. 运行ttmkfdir>fonts.dir命令;接着用vi编辑fonts.dir文件,将下面内容添加进去---------------------------------------------------- simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-ascii-0 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-iso10646-1 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-15 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-c-0-gb2312.1980-0 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-m-0-gb2312.1980-0 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gbk-0 ---------------------------------------------------- 然后执行 #cat fonts.dir>font.scale 修改/etc/X11/XF86Config, [root@tooth X11]# vi XF86Config 在Section“Files”加上下面这一行:FontPath “/usr/X11R6/lib/X11/fonts/TrueType” 二.JDK 1.先复制simsun.ttf(宋体)simsun18030.ttf(新宋体)tahomabd.ttf tahoma.ttf到$JAVA_HOME/jre/lib/fonts下,在将系统中刚刚生成的fonts.dir以及fonts.scale文件复制到$JAVA_HOME/jre/lib/fonts下即可. 四. 安装Oracle 此时切换到Oracle用户,运行./runInstaller,出来的界面应该是亲切的中文界面了,如果还是乱码请检查上面的步骤。 到此oracle的安装过程已经不是乱码,可以显示中文oracle安装好后启动ocm等还会是乱码 所以要修改他的jre文件先改dbca ---------------------------------------------------- [oracle@tooth oracle]$ cd $ORACLE_HOME [oracle@tooth 9.2]$ cd bin [oracle@tooth bin]$ 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 [oracle@tooth bin]$ 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 [oracle@tooth bin]$ 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个人已经实现oracle中文安装和oracle中文界面的设置,安装文档完全可以实现 转帖自http://hi.baidu.com/yjlj569/blog/item/b6ec29b107d718510923029a.html 非常感谢作者saygoodbye