问题描述:首先声明我的数据库用到一些比较特殊的字符,比如一些生僻的汉字,还有偏旁部首,笔画一类的东东。oracle版本10g.r2,OS是Windows,编程环境VS2005。问题出在做一些数据库更新时,有一部分字符在库中会显示"?"。我这几天一直在找解决办法,问题都指向oracle字符集的设置。我也照着前人的经验做过一些尝试但是始终无法解决问题。
我想有专家指导一下
1.修改服务器和客户端NLS_LANG的完整方法,因为我看以前说的比较乱。
2.要改成什么样才能去掉乱码。
3.如果能说一下原理就更爽了。
补充,我可以任意的改服务器端,重装也行,只要能解决问题,什么我都能做

解决方案 »

  1.   

    生僻字不能显示,我想不是oracle字符集设置的问题吧。
      

  2.   

    在SQLserver中就可以正确插入,正确显示,所以肯定是oracle的问题,我现在就是在寻找办法解决,就是实在不行换数据库我也要得到肯定的答案是oracle确实不行。
      

  3.   

    参考一下:
    http://www.bc-cn.net/Article/sjk/oracle/200601/3490.html
      

  4.   

    感谢yugas给的链接我看过了,说的是SQL Plus WorkSheet界面上的字符显示乱码的处理,但是我不是那个东西显示乱码,而是插入数据库的部分数据乱码。有没有大大给出以前类似问题带有结论性的链接
      

  5.   

    使用select * from database_properties 知道实例的字符集. 我不知道你是否用vs2005开始什么b/s的应用,如果那样的话,你是否也需要注意一下web的配置,这也涉及到字符集的问题.
        你更新是通过程序还是通过sqlplus之类的工具了?
      

  6.   

    修改服务器和客户端NLS_LANG的不是问题关键,关键是你的数据库字符集,就是创建数据库时选择的字符集不包含你要的生僻字符。