delphi7+oracle9
用PL/SQL执行insert语句,数据正常,中文也正常显示,但通过delphi不行,是乱码。在delphi中用了两种方式连接数据库:1是ADO方式,2是ODBC方式,都不行。请高手指点啊!!!

解决方案 »

  1.   

    http://hi.baidu.com/danghj/blog/item/36a85f10b8dcbdf1c3ce799a.html
      

  2.   

    我们公司采用 ODAC 控件 读写oracle
      

  3.   

    用value不行啊,之前就是这样测试的。我本机和oracle服务器端的字符集设置均为AMERICAN_AMERICA.US7ASCII, 用PL/SQL插入是没有问题的。就是通过delphi有问题啊,怎么解?
    看了2楼的链接好像觉得没用也~~~
    在delphi里面可以设置字符集吗?
      

  4.   

    以前做过delphi +oracle的应用程序,没有发现此问题。
    你用delphi做个查询,Grid里显示的是否是乱码?此举是为了判断是oracle字符集设置的问题,还是delphi插入的问题。
      

  5.   

    用ADODataset没问题,用ADOCommand有问题。看来delphi里头不同的控件所支持的字符集还是不相同的。
      

  6.   

    Delphi 7不支持UNICODE, 换2010试试
      

  7.   

    用过d7+oracle9i,没有发现你说的问题,似乎还是字符集的问题
      

  8.   

    还是字符集的问题,不过是另一个程序了
    这是一个三层架构的程序,在本机调式没问题,中间层也是在本机,XP的系统,中文能够正常显示。
    把中间层换到服务器端(windows 2003,没装delphi),就又乱码了。尝试在服务器端装了delphi再卸载,就好了。(因为没有买那么多的license,所以服务器上是不允许装delphi的)。有人遇到过类似问题吗?又是如何解决的?
      

  9.   

    AMERICAN_AMERICA.US7ASCII 这个字符集很老了,听说这个字符集是有错误的,我最经应用oracle10 也是这问题  plsql正常  就是程序显示乱码 ,和系统也有关系   听说是  反正这个字符集要求太多 现在一般都用简体中文吧 ZHS16GBK