ORACLE中的sql命令段输入字符的乱码问题

ORACLE中通过sqlplus登录数据库,在SQL终端输入字符就会出现一大堆的乱码,百度找了很多解决办法,最后终于解决了,不知道以后会不会出现什么问题。

wKioL1LXRm2jjwBfAADTlpB9Pzs686.jpg

解决办法:

首先查看当前数据库的字符编码方式:

SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET'

wKioL1LXRuzxq9COAAHVLx1BiUI888.jpg

更改步骤:

1、用sysdba角色用户登录sqlplus: 命令行输入:sqlplus sys as sysdba

2、输入口令,进入sqlplus:sql>---

3、依次键入下面的命令行执行:

shutdown immediate;

STARTUP MOUNT;

ALTER SESSION SET SQL_TRACE=TRUE;

ALTER SYSTEM ENABLE RESTRICTED SESSION;

ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;

ALTER SYSTEM SET AQ_TM_PROCESSES=0;

ALTER DATABASE OPEN;

ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

ALTER SESSION SET SQL_TRACE=FALSE;

shutdown immediate;

startup;

风险分析:执行上述命令,有可能造成数据库中已有数据混乱的情况,所以在进行操作前,要进行数据库的备份操作;

结果查看:察看 NLS_LANG 信息:

SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET';

NLS_LANG 信息已经变成:

wKioL1LXSHbi8J0OAADdyd851TU901.jpg

重新通过sqlplus命令登录测试:

wKiom1LXSS_Q5oaKAAGPdWVYDy0828.jpg

你可能感兴趣的:(oracle,sql,乱码)