我用ODAC连接Oracle unicode
设置OraSession1.Options.Charset := utf8不行,有乱码
设置OraSession1.Options.Charset := AL32UTF8也不行,还是有乱码。
谁知道应该怎么设置?

解决方案 »

  1.   

    SIMPLIFIED CHINESE_CHINA.AL32UTF8服务器是这个,可是客户端设置成AL32UTF8也不行
      

  2.   

    总算解决了,大概意思如下
    str := ' insert into sms_test_tab(id,name) '
              +'values('+edtID.Text+','''+edtName.Text+''')';
    UniQuery1.Close;  //存储乱码
    UniQuery1.SQL.Text := str
    UniQuery1.Execute;只能使用这种方式://这种方式就不乱码。useunicode=true
    str :=  ' insert into sms_test_tab(id,name) '
              +' values(:ID,:NAME)
    UniQuery1.Close;
    UniQuery1.SQL.Text := str;
    UniQuery1.ParamByName('ID').AsString := edtID.Text;
    UniQuery1.ParamByName('NAME').AsString := edtName.Text;
    UniQuery1.Execute;
      

  3.   

    当 数据库字符集 是 AL32UTF8 时 假如有个表字段名 是汉字 或者  有sql 这样写 select xx as 分类号...  客户端用odac连接  大家试试 当设置useunicode:=true时(因为表中包含小语种字符) 列名是不是乱码了  取出fieldname 也是乱码 不信大家试一试