今天极度郁闷,Oracle客户端字符集问题折磨了我整整一天,特意将此贴上来,以免下次再次遇到。
问题是这样的:Win2003的机器,之前装过SAP,SAP自带Oracle9i,装完后自动设置了一个环境变量:NLS_LANG=AMERICAN_AMERICA.WE8DEC(后来才知道有这个变量),就是这个环境变量,使得后来我不管是在Oracle9i里新建数据库,还是新装Oracle10g(它们选的都是支持中文的ZHS16GBK字符集),导致不管是通过Sql*plus,还是Toad查看/修改中文数据时其都表现为乱码。解决方法是将这个环境变量设置为:NLS_LANG=AMERICAN_AMERICA.ZHS16GBK,或者是把NLS_LANG变量删除,才能使中文显示/修改正常。
评论