我是oracle9i数据库,我的php程序字符要求必须是utf8,所以我在建数据库时将字符集设为utf8,并在环境变量和注册表中都设置了NLS_LANG=AMERICAN_AMERICA.AL32UTF8。但我用sqlplus时中文出现乱码,用企业管理控制台方式中文正常。如果将NLS_LANG设置为SIMPLIFIED CHINESE_CHINA.ZHS16GBK 或 american_america.zhs16gbk 则sqlplus中文正常而php程序中文乱码,有没有办法让sqlplus和程序中都正常显示中文呢?急待帮助!!!

解决方案 »

  1.   

    你可以让你的NLS_LANG满足php的设置,
    然后登入sqlplus后,在会话级别再修改字符集。
    这样就互不影响了。
      

  2.   

    sqlplus 是和你机器的Region相关."Region and language settings -> Advanced" 更改你的语言为中文试试.
      

  3.   

    嘿嘿,看错了,看到PHP还以为是editplus.
      

  4.   

    请问会话级怎么该字符集 是用alter session 吗? 我用alter session set nls_lang=american 好像可以成功,但想设成中文一直不成功,分别试了alter session set nls_language=ZHS16GBK、ZHS16GBKSIMPLIFIED CHINESE、CHINA、CHINESE都提示“ORA-02248: invalid option for ALTER SESSION”,不知原因,我的服务器和客户端在同一台机器
      

  5.   

    我用alter session set nls_language='SIMPLIFIED CHINESE' 设置成功了 但还是乱码 郁闷