我是从excel表中 通过pl/sql导进去的 但是只要是中文就显示乱码 包括 比如给一个字段起个中文的别名 例如 select name "姓名" from student 其中查询出来的结果 姓名这个字段显示的也是‘??’还请帮忙 谢谢了 最好步骤详细些
追答估计是客户端和服务端的字符集不一致修改字符集把
1.修改客户端字符集
先查看服务端字符集
sqlplus /nolog
SQL>conn / as sysdba;
SQL>select userenv(‘language’) from dual;
修改客户端的HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0\NLS_LANG
和服务端一致 后再重新导入数据
2.或者修改服务端字符集
服务端执行
sqlplus /nolog
SQL>conn / as sysdba;
若此时数据库服务器已启动,则先执行SHUTDOWN IMMEDIATE命令关闭数据库服务器,然后执行以下命令:
SQL>STARTUP MOUNT;
SQL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SQL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SQL>ALTER DATABASE OPEN;
SQL>ALTER DATABASE CHARACTER SET INTERNAL_USE ZHS16GBK; SQL>ALTER DATABASE national CHARACTER SET INTERNAL ZHS16GBK;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP