lisunra 发表于 2012-09-04 19:14

中文字体乱码问题

hi,各位大牛们你们好:
小弟我初识orcale,有些不懂得地方向各位请教。下描述下问的问题。
我用的是oracle 11.2,服务器为window 7(32位),客户端为linux(redhat 3.9 2.4的内核)。

客户端环境:
安装了
oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
libaio-0.3.96-7.i386.rpmoracle-instantclient11.2-sqlplus-11.2.0.3.0-1.i386.rpm
并在/etc/profile中声明了:
NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
export NLS_LANG
系统语言环境,通过命令查看:
env |grep LANG 结果为:
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK
LANG=zh_CN.gbk
LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN

文件/etc/sysconf/i18n 内容为:
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SYSFONT="lat0-sun16"
SYSFONTACM="8859-15"

我是通过脚本来传送数据的,脚本大致为:
VALUE=`$SQLPLUS$USER_NAME/$PASSWD@$IP_ADDR:$PORT/$SERVER_SID << END
          $SQL_OP_STR
          exit;
          END`
写入服务器数据成功(如果为中文时显示乱码)。

服务器环境:
服务器的字符编码为:
select userenv(‘language’) from dual;
SIMPLIFIED CHINESE_CHINA.ZHS16GBK


我通过toad 或者sqlplus(server和client)都显示乱码。

各位大牛知道下,我一上配置哪错了,或者遗漏了什么?

谢谢 !! 各位了 很着急的:em16:



lisunra 发表于 2012-09-06 11:26

大牛们,没人回复吗?:'(

digdeep126 发表于 2012-09-06 12:35

设置你的 NLS_LANG 等于客户端的编码,即可。

congfu 发表于 2012-09-06 19:40

检索是一种美德

lisunra 发表于 2012-09-27 11:31

把客户端和NLS_LANG都设置成utf-8就可以了。

但是还是不懂,服务器的编码是gbk,但客户端和NLS_LANG都设置成gbk依然显示乱码。难道我的客户端不支持gbk?

哎,总算交付了,周末再好好研究下。

结贴。
页: [1]
查看完整版本: 中文字体乱码问题