ITPub博客

首页 > 数据库 > Oracle > Oracle客户端toad汉字乱码解决方法

Oracle客户端toad汉字乱码解决方法

翻译 Oracle 作者:系统之家001 时间:2016-01-23 11:59:32 0 删除 编辑
出现中文乱码的主要原因是字符集不同。在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

 客户端应用的字符集

下面是我用到的字符集
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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30794208/viewspace-1981115/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2016-01-16

  • 博文量
    4
  • 访问量
    9631