oracle字符集问题汇总:
1:我在我的电脑上安装了一个oracle服务器+客户端,由于项目需要需要经常访问外围系统的oracle数据库,但是外围数据库的字符集存在差异
如果不切换字符集,会出现"靠靠靠"这样的汉字乱码,如
A系统:SIMPLIFIED CHINESE_CHINA.ZHS16GBK
B系统:AMERICAN_AMERICA.WE8ISO8859P1我每次要访问B系统时,都要进oracle安装的注册表项将nls_lang手工改为B系统的字符集才能正确显示,而要访问A系统就要再次进行这样的重复操作,将A系统的字符集更改到注册表nls_lang键值当中.
请问,有没有什么好的方法,可以不进行这样的重复操作?2.系统的服务器配置了一个oralce数据库,但是字符集我进oracle的注册表项更改为重用的SIMPLIFIED CHINESE_CHINA.ZHS16GBK这个字符集之后,使用select usernev('langguage') from dual还是显示AMERICAN_AMERICA.WE8ISO8859P1导致,导致我访问的所有数据库都是显示汉字乱码"靠靠靠".
请教各位,有什么方法可以设置server端的字符集?

解决方案 »

  1.   

    参考:
    http://topic.csdn.net/u/20090111/12/9eb8eacd-17e7-4474-9857-0c4282a2ddcb.html
      

  2.   

    1. 可以直接在sqlplus中用命令改变nls_lang
    SQL> alter session set nls_language="SIMPLIFIED CHINESE";Session altered.SQL> alter session set nls_language="AMERICAN";Session altered.2. 改注册表后要重启才能生效,你这样改的好像是改客户端的。
       服务器端可以用ALTER DATABASE CHARACTER SET改
    友情提示楼主,结帖率红了
      

  3.   

    http://topic.csdn.net/u/20090111/12/9eb8eacd-17e7-4474-9857-0c4282a2ddcb.html!~学习