数据库字符集是 AL32UTF8  我的开发工具是 用的 delphi xe  ODAC版本  8.1.4 界面显示用 dbgrid 
sql 语句  select flh as 分类号 ....   显示到 表格   字段名就乱码  orasession   useunicode :=true ;有类似经验的 帮解决下   解决了 即付款  不忽悠  没意思 比较急

解决方案 »

  1.   

    这个应该是字符集不同才会造成这种乱码情况,查看sql是否跟oracle 9i的字符集模式是一样的
      

  2.   

    如果不考虑性能问题的话,即在Oracle里面用select rawtohex(UTL_RAW.cast_to_raw(trim(字段名))) from 表 把中文转换成16进制,再在代码里面把16进制转换成中文就搞定了.
      

  3.   

    到ITPUB上去问吧. 那里几个版主比较活跃,而且对乱码问题有比较深入的研究.
      

  4.   

    通过在服务端运行 select userenv('language') from dual; 查看字符集
    设置编码:set NLS_LANG='SIMPLIFIED CHINESE_CHINA.ZHS16GBK '按照这个格式设置合适的字符集
      

  5.   

    客户端字符集与数据库字符集 设置均为 AL32UTF8  貌似ODAC直连方式 与 客户端字符集 设置无关 之所以采用直连方式是不想安装庞大的oracle客户端 经测试得知 ODAC不采用直连方式 客户端字符集设置 ZHS16GBK 时 显示正常  百思不得其解
      

  6.   

    oracle9i?我连11G的时候出乱码了。把Session的options中的UseUniCode选项设置为TRUE,你在试试。如果不行,你可以试试ODAC5.1.啥乱码都没有。新的东西不一定稳定呀。
      

  7.   

    只有新东西才能用EF做MVC啊。老东西不支持EF,新东西又是乱码