我是在本地机子上对oracle进行操作的,没有客户服务器之分。
从文件里读数据进clob字段,一开始是乱码。在论坛搜了一下知道是字符集的问题,去注册表从SIMPLIFIED CHINESE_CHINA.ZHS16GBK改成American_America.WE8ISO8859P1,出来的全是“靠”字。然后我重新改成了AMERICAN_AMERICAN.US7ASCII,这回出来的全是“?”。而我用
select * from V$NLS_PARAMETERS;察看数据集的时候发现:
NLS_LANGUAGE
AMERICAN
NLS_TERRITORY
AMERICA
......
NLS_NCHAR_CHARACTERSET
ZHS16GBK
怎么language和territory都改过来了,characterset还是最开始中文时候的ZHS16GBK呀?
---------------------------------------------------------------
修改注册表的字符级,这是字符级的问题。。。
---------------------------------------------------------------
操作系统什么环境? 英文还是中文?
安装的时候选择的什么字符集?
你使用的两个参数不匹配Di:
NLS_LANGUAGE:AMERICAN
NLS_NCHAR_CHARACTERSET:ZHS16GBK
---------------------------------------------------------------
教你一招,用ORACLE ODBC DRIVER做驱动的ODBC接口编程,根本不存在字符集的问题!散分呀!!!
---------------------------------------------------------------
爽,在注册表里改成American_America.ZHS16GBK 就可以了,真奇怪,管它匹不匹配,能用就行了。