zoukankan      html  css  js  c++  java
  • 向Oracle数据库插入中文乱码解决方法

    解决方法:
        第一步:sqlplus下执行:select userenv('language') from dual;//查看oracle字符集
         注:如果oracle字符集与后台代码设置的字符集不一致就会出现乱码
        第二步:修改SYS.PROPS$表。即用SYS用户登陆ORACLE后,利用下面语句修改相应的字符集并提交:SQL>UPDATE PROPS$ SET VALUE$=’ZHS16GBK‘WHERE NAME=’NLS_CHARACTERSET’;SQL>COMMIT;

        通过此种方法来更改数据库字符集,只对更改后的数据有效,即数据库中原来的数据仍以原字符集被存储。
       注:使用sys登陆的密码是manager   连接方式为 sysdba

       注:查询数据库字符集(oracle server 端 字符集查询):oracle: select userenv(’language’) from dual;  --查询的是Oracle服务器端字符集

    原文链接---------http://wenda.so.com/q/1408152629727270?src=110

    数据库字符集修改案例:

    Microsoft Windows [版本 10.0.14393]
    (c) 2016 Microsoft Corporation。保留所有权利。

    C:WINDOWSsystem32>sqlplus /nolog

    SQL*Plus: Release 11.2.0.1.0 Production on 星期一 12月 19 09:29:31 2016

    Copyright (c) 1982, 2010, Oracle.  All rights reserved.


    SQL> conn /as sysdba
    已连接。
    SQL> select * from nls_database_parameters where parameter ='NLS_CHARACTERSET';

    PARAMETER
    ------------------------------------------------------------
    VALUE
    --------------------------------------------------------------------------------
    NLS_CHARACTERSET
    AL32UTF8


    SQL> shutdown immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup mount;
    ORACLE 例程已经启动。

    Total System Global Area 3390558208 bytes
    Fixed Size                  2180464 bytes
    Variable Size            2013268624 bytes
    Database Buffers         1358954496 bytes
    Redo Buffers               16154624 bytes
    数据库装载完毕。
    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 ZHS16GBK;
    ALTER DATABASE CHARACTER SET ZHS16GBK
    *
    第 1 行出现错误:
    ORA-12712: 新字符集必须为旧字符集的超集


    SQL> ALTER DATABASE character set INTERNAL_USE ZHS16GBK;

    数据库已更改。

    SQL> shutdown immediate;
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。
    SQL> startup;
    ORACLE 例程已经启动。

    Total System Global Area 3390558208 bytes
    Fixed Size                  2180464 bytes
    Variable Size            2013268624 bytes
    Database Buffers         1358954496 bytes
    Redo Buffers               16154624 bytes
    数据库装载完毕。
    数据库已经打开。
    SQL>

  • 相关阅读:
    高性能网络编程(七):到底什么是高并发?一文即懂!
    社交软件红包技术解密(十一):最全解密微信红包随机算法(含代码实现)
    sonar集成阿里p3c代码规范
    jenkins+sonar 持续集成检测代码质量
    JavaScript 利用零宽断言批量替换为注释符 // 后面加空格
    Git 合并时 submodule 冲突问题解决方法
    小程序 iphone X 1rpx 边框透明及不显示问题
    加快pip下载速度
    python中remove函数的坑
    Java程序运行内存机制
  • 原文地址:https://www.cnblogs.com/sunfenqing/p/7285368.html
Copyright © 2011-2022 走看看