我看了一下我的注册表,ORA8客户端的nls_lang的值是SIMPLIFIED CHINESE_CHINA.ZHS16GBK,ora7客户端的直接是NA。
我用select * from V$nls_parameters;看到服务器上的是SIMPLIFIED CHINESE。PB6.5用的是ora7客户端,中文显示一点问题没有。我用delphi7调ora8的客户端(oracle for oledb那种),用adoquery,dbgrideh(dbgrid也是乱码)显示,结果就是乱码。PA 109 I3R;
6~?s
B,;]6+全是如上那样的乱码,还不全是“?”。我试着改注册表的nls_lang值,试过多种组合,都不行。不是字符集的问题吧?
感觉好像delphi把中文当成了两个字符。咋整??

解决方案 »

  1.   

    那你的PB用OLEDB for Oracle 8.X没有,我觉得问题还是出在Oracle上,和Delphi没有关系,我以前也在别的数据库上遇到过乱码的问题,后来是把编码集改成中文才解决的。
      

  2.   

    你用delphi的BDE Administrator建一个中间层可以解决这个问题
      

  3.   

    fanyufanyu能说得再详细些么?怎么改编码集啊?
      

  4.   

    我装了双系统,xp和2003
    xp下用pb就没乱码,2003下用pb看汉字就是乱码,看来不是delphi的问题,那到底是系统问题还是驱动问题?如何解决啊?