oracle建库时编码使用的国标,使用DBGrid显示表中的数据时中文字符串显示为类似于“###a##”之类的乱码,郁闷的是在写查询语句“select * from "tablename " where" fieldnam" = ''中文字符串''”时,不能正确的选出需要的数据。请高手指教!

解决方案 »

  1.   

    这个好像是很老的问题了,是操作系统与oracle的字符集用的不一样,一个用的是中文字符集,另一个用的是英文的,可以在注册表中改,你找找看,我记不清具体的键值了
      

  2.   

    select * from "tablename " where" fieldnam" = ''中文字符串''
    改为
    'select * from tablename where fieldname='+quotedstr('中文字符串')
    试试
      

  3.   


    谢谢大家支持!!
    to:hhytsoft(雨中独行)
    我试过了,不可以的。很郁闷!
    to:chenwc(海市蜃楼) 
    具体如何改呢?请指教!还有什么解决方案么?急!
      

  4.   

    将客户端注册表键值HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\NLS_LANG、
    HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG
    改为数据库服务器上的注册表键值
      

  5.   

    解决方法是修改注册表中的oracle的NLS_LANG键值,改为简体中文的。就没有问题了。
      

  6.   

    将HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG更改为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK