《Oracle客户端toad汉字乱码解决方法.docx》由会员分享,可在线阅读,更多相关《Oracle客户端toad汉字乱码解决方法.docx(2页珍藏版)》请在三一办公上搜索。
1、Oracle客户端toad汉字乱码解决方法Oracle客户端toad汉字乱码解决方法 出现中文乱码的主要原因是字符集不同。在Oracle中,我们关心三个地方的字符集: 先来查看一下数据库字符集: 在Oracle中可能使用Select userenv(language) from dual;或者:Select name, value$ from props$;查看。 l Oracle服务器内部的字符集 修改方法: connect sys/chang_on_install update commit; 2 NLS_LANG变量里保存的字符集 这个是Oracle设置的一个变量。在Windows中,这
2、个变量保存在注册表中: HKEY_LOCAL_MACHINESOFTWAREORACLEHOME0 保存着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.WE8I
3、SO8859P1 AMERICAN_AMERICA.ZHS16GBK 特别注意:如果服务端编码为AL32UTF8,那么客户端就应该安装自己环境来设置字符编码。 比如我有一个服务器端,其中两个客户端一个为简体,一个为繁体: 服务器端字符集设置:american_america.AL32UTF8 简体客户端字符集设置:AMERICAN_AMERICA.ZHS16GBK 繁体客户端字符集设置:TRADITIONAL CHINESE_TAIWAN.ZHT16MSWIN950 这样toad和sqlplus不论在繁体还是简体都可以正常显示汉字了。 props$set value$=TRADITIONAL CHINESE_TAIWAN.AL32UTF8where name=NLS_CHARACTERSET;