查看ORACLE数据库字符集: select parameter,value from nls_database_parameters where parameter like 'NLS_CHARACTERSET'; 设置客户端字符集: 设置环境变量:NLS_LANG=AMERICAN_AMERICA.ZHS16GBK 或者可以:SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280,AMERICAN_AMERICA.ZHS16GBK select * from nls_database_parameters 可以查询数据库的各种与国家、语言有关的参数设置
是WINDOWS吗 如果是的话在注册表里把相应客户端程序的NLS_LANG改为中文
客户端和服务端的字符集要设置的一样。查看服务端的字符集 SQL> select userenv(’language’) from dual;USERENV(’LANGUAGE’)—————————————————-AMERICAN_AMERICA.WE8ISO8859P1
select parameter,value from nls_database_parameters where parameter like 'NLS_CHARACTERSET';
设置客户端字符集:
设置环境变量:NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
或者可以:SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280,AMERICAN_AMERICA.ZHS16GBK
select * from nls_database_parameters 可以查询数据库的各种与国家、语言有关的参数设置
如果是的话在注册表里把相应客户端程序的NLS_LANG改为中文
SQL> select userenv(’language’) from dual;USERENV(’LANGUAGE’)—————————————————-AMERICAN_AMERICA.WE8ISO8859P1
但在linux服务端,字符集是支持中文的ZHS16GBK。在服务器端直接sqlplus,就无法显示中文。
关于中文的一切操作都不可以。非常的奇怪。
还有一点比较让我迷惑
在客户端执行带有中文的.sql脚本也不可以。但是手动打上去 比如create table 表1(id integer);就可以执行成功。
建议你在linux下执行其他操作,看看本身操作系统是不是有中文乱码的问题
谢谢各位的回复
Linux下其他中文操作并无问题~~
对不起 我描述不清
shell下中文提示是没问题的
展开 HKEY_LOCAL_MACHINE -> SOFTWARE -> ORACLE 后,点击 KEY_OraDb10g_home1,修改右侧的NLS_LANG的值为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK即可。
客户端所在的windows配置后是可以正常显示中文的
但是直接在linux(服务端)上sqlplus连上本地后 关于中文的一切操作都不可以
SQL> select userenv(’language’) from dual; 的结果是
AMERICAN_AMERICA.ZHS16GBK
可能是你这个服务器上的shell里没有设置NLS_LANG和服务器里的字符集一样。你设置一下NLS_LANG后export一把,再试试sqlplus