xiu12 发表于 2018-9-13 07:21:43

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

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

  解决办法:
  首先查看当前数据库的字符编码方式:
  SELECT parameter, value FROM v$nls_parameters WHERE parameter LIKE '%CHARACTERSET'

  更改步骤:
  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 信息已经变成:

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


页: [1]
查看完整版本: ORACLE中的sql命令段输入字符的乱码问题