• Oracle 乱码或则中文无法正确查询问题


    1. 解决Oracle本身的字符集问题
      oracle数据库的字符集更改
      A、oracle server 端 字符集查询
      select userenv('language') from dual
      其中NLS_CHARACTERSET 为server端字符集
      NLS_LANGUAGE 为 server端字符显示形式
      B、查询oracle client端的字符集
      $echo $NLS_LANG
      如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。
      C、server端字符集修改

    • 更改字符集步骤方法(WE8ISO8859P1 --> ZHS16GBK) *

    SQL>
    将数据库启动到RESTRICTED模式下做字符集更改:
    SQL> conn /as sysdba
    Connected.
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount
    ORACLE instance started.
    Total System Global Area 236000356 bytes
    Fixed Size 451684 bytes
    Variable Size 201326592 bytes
    Database Buffers 33554432 bytes
    Redo Buffers 667648 bytes
    Database mounted.
    SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
    System altered.
    SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
    System altered.
    SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
    System altered.
    SQL> alter database open;
    Database altered.
    SQL> ALTER DATABASE CHARACTER SET ZHS16GBK;
    ALTER DATABASE CHARACTER SET ZHS16GBK
    *
    ERROR at line 1:
    ORA-12712: new character set must be a superset of old character set
    提示我们的字符集:新字符集必须为旧字符集的超集,这时我们可以跳过超集的检查做更改:
    SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;
    Database altered.
    SQL> select * from v$nls_parameters;

    19 rows selected.
    重启检查是否更改完成:
    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started.
    Total System Global Area 236000356 bytes
    Fixed Size 451684 bytes
    Variable Size 201326592 bytes
    Database Buffers 33554432 bytes
    Redo Buffers 667648 bytes
    Database mounted.
    Database opened.
    SQL> select * from v$nls_parameters;

    19 rows selected.
    +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    D、client端字符集修改
    在 /home/oracle与 /root用户目录下的.bash_profile中
    添加或修改 export NLS_LANG="A

    1. windows 客户端问题

    在我的电脑上右键属性--高级系统设置--高级--环境变量,新建用户变量:
    变量名:NLS_LANG
    变量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

  • 相关阅读:
    Spring 源码学习 09:refresh 大概流程
    Spring 源码学习 08:register 注册配置类
    Vmware安装苹果系统(Apple Mac OS X)详细
    React Native利用router-flux简单实现标签页切换
    IntelliJ IDEA 搭建配置Maven(二)
    IntelliJ IDEA 从下载到安装(一)
    SSM框架知识简单整合
    1221条电脑蓝屏代码大全
    ISO刻录U盘重新系统方法
    重装系统(GHO)镜像介绍及下载
  • 原文地址:https://www.cnblogs.com/cpsing/p/4989597.html
Copyright © 2020-2023  润新知