如果你的服务器端和客户端的字符集是一样的,那么就不会有问题,也不会出现乱码。因为如果你的服务器端和客户端的字符集是一样的,那么oracle 就不会进行转换,这样输入的是什么东西,输出就是一样的。

解决方案 »

  1.   

    可以参考下列语句
    ------------------------------
    在管理员权限下强制转换数据库字符集SQL > create database  character set US7ASCII
    * create database character set US7ASCII
          ERROR at line 1:
    ORA-01031: insufficient privileges---- 你会发现语句执行过程中,出现上述错误提示信息,此时不用理会,实际上ORACLE数据库的字符集已被强行修改为US7ASCII,接着用imp命令装载数据。等数据装载完成以后,shutdown 数据库,再startup 数据库,用合法用户登录ORACLE数据库,在sql>命令提示符下,运行select * from V$NLS_PARAMETERS,可以看到ORACLE数据库字符集已复原,这时再查看有汉字字符数据的表时,汉字已能被正确显示。 
      

  2.   

    如果你在客户端使用PL/SQL DEVELOP之类的工具,只需修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEO\NLS_LANG
    参数就可以正常显示和操作不同字符集了.
      

  3.   

    其实只要修改系统表v$nls_parameters中NLS_CHARACTERSET的值后重新启动系统就可以了。