oracle里NLS_NCHAR_CHARACTERSET参数是AL16UTF16,说明数据存储用的是
  UTF16位编码,我在数据库里录入数据后,读取数据到页面程序,应该将utf-8
  转为gbk,因为页面编码是gbk的,但是转码后就出现乱码,不转码直接读取却
  正常。这是怎么回事啊,是那里出了问题?
  谢谢!

解决方案 »

  1.   

    表的字段类型是nvarchar还是varchar,如果是varchar就不必理会NLS_NCHAR_CHARACTERSET参数
      

  2.   

       是varchar2,NLS_NCHAR_CHARACTERSET参数不是说明了
       oracle里的编码是utf-8吗?
      

  3.   

    Oracle会根据服务器端和客户端的字符集设置自动进行转换,前提是两个字符集要兼容,才能正确转换。
      

  4.   

       你看看NLS_CHARACTERSET参数是不是gbk的,是那就没错啦,你的字符类型是varchar,而非nvarchar