oracle服务端和客户端的字符集分别怎么设置
我win764为位安装的oracle10g10204,安装instantclient-basic-win32-10.2.0.4才能使用PLSQL,,可是中文都是乱码怎么整...
我win7 64为位安装的oracle 10g10204,安装instantclient-basic-win32-10.2.0.4 才能使用PLSQL,,可是中文都是乱码怎么整
展开
1个回答
展开全部
你的数据库是什么字符集, 那么对应的在windows客户端注册表也要填入对应的字符集。
有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,
比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK
这样就只影响这个窗口里面的环境变量。
askmaclean oracle
有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种:
SQL> select userenv('language') from dual;
USERENV('LANGUAGE')
----------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
在windows平台下,就是注册表里面相应OracleHome的NLS_LANG。还可以在dos窗口里面自己设置,
比如: set nls_lang=AMERICAN_AMERICA.ZHS16GBK
这样就只影响这个窗口里面的环境变量。
askmaclean oracle
更多追问追答
追问
server字符集我设置成了AMERICAN_AMERICA.AL32UTF8,注册表也设置成了AMERICAN_AMERICA.AL32UTF8。NLS_LANG环境变量也设置成了AMERICAN_AMERICA.AL32UTF8,PLSQL还是问号,SQLplus则是乱码,与原来中文不一样
追答
尝试在PL/SQL下创建一张表 并插入中文数据, 然后在PL/SQL下观察, 请截图
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询