Oracle客户端toad汉字乱码解决方法|方正ES2007平台|BPM工作流平台
luyued 发布于 2011-04-15 15:01 浏览 N 次应一直受服务端编码和客户端编码要一致误导,结果害了我半个小时时间,来解决这个小问题,现在把解决记录一下,以备忘记:
出现中文乱码的主要原因是字符集不同。在Oracle中,我们关心三个地方的字符集:
先来查看一下数据库字符集:
在Oracle中可能使用Select userenv('language') from dual;或者:Select name, value$ from props$;查看。
l Oracle服务器内部的字符集
修改方法:
connect sys/chang_on_install
update props$ set value$='TRADITIONAL CHINESE_TAIWAN.AL32UTF8'where name='NLS_CHARACTERSET';
commit;
2 NLS_LANG变量里保存的字符集
这个是Oracle设置的一个变量。在Windows中,这个变量保存在注册表中:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0 保存着NLS_LANG变量。
在Unix/Linux中,则需要自己进行设置,在.profile里面加上 NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
3 客户端应用的字符集
下面是我用到的字符集
american_america.AL32UTF8
TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950
TRADITIONAL CHINESE_TAIWAN.AL32UTF8
AMERICAN_AMERICA.WE8ISO8859P1
AMERICAN_AMERICA.ZHS16GBK
特别注意:如果服务端编码为AL32UTF8,那么客户端就应该安装自己环境来设置字符编码。
比如我有一个服务器端,其中两个客户端一个为简体,一个为繁体:
服务器端字符集设置:american_america.AL32UTF8
简体客户端字符集设置:AMERICAN_AMERICA.ZHS16GBK
繁体客户端字符集设置:TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950
这样toad和sqlplus不论在繁体还是简体都可以正常显示汉字了。
方正飞鸿:http://www.founderfix.com
- 05-15· 后空翻的小精灵--摩托罗拉
- 05-10· E2无线上网方法
- 05-10· 生产问题的分析与解决
- 05-10· 北京智得拓展培训 公司介
- 05-10· 【引用】2011年04月14日
- 05-02· Protel 如何查找元件
- 05-02· “宜生led舒视灯”诚招浙
- 05-02· 中国培训认证咨询网(简称
- 05-01· 请老基民指点新手勿扰
- 05-01· 专家们请进!!今天买了广发
- 04-30· HTC G6+ 最新多普达智能机
- 04-29· discount louboutin Motorola spi
- 04-28· 民居武火一家四口丧命
- 04-28· 2011年4月13日主力买入股票
- 04-28· 山鹰展翅
- 04-28· 东升四季青...
- 04-28· 为中华诗乡青岩镇布依龙
- 04-28· 未来PC市场何去何从?
- 04-28· AIO PC--PC机的革命?
- 04-28· [股侠小说连载]逍遥三侠