更改Oracle字符集:把字符集ZHS16GBK换成UTF8

SQL> select name,value$ from props$ where name like '%NLS%';

NAME VALUE$

------------------------------ ------------------------------

NLS_LANGUAGE AMERICAN

NLS_TERRITORY AMERICA

NLS_CURRENCY $

NLS_ISO_CURRENCY AMERICA

NLS_NUMERIC_CHARACTERS .,

NLS_CHARACTERSET ZHS16GBK

NLS_CALENDAR GREGORIAN

NLS_DATE_FORMAT DD-MON-RR

NLS_DATE_LANGUAGE AMERICAN

NLS_SORT BINARY

NLS_TIME_FORMAT HH.MI.SSXFF AM

NAME VALUE$

------------------------------ ------------------------------

NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM

NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR

NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR

NLS_DUAL_CURRENCY $

NLS_COMP BINARY

NLS_LENGTH_SEMANTICS BYTE

NLS_NCHAR_CONV_EXCP FALSE

NLS_NCHAR_CHARACTERSET AL16UTF16

NLS_RDBMS_VERSION 10.2.0.1.0

20 rows selected.

NLS_CHARACTERSET是数据库字符集,NLS_NCHAR_CHARACTERSET是国家字符集

Oracle中有两大类字符型数据,,VARCHAR2是按照数据库字符集来存储数据。

而NVARCHAR2是按照国家字符集存储数据的。同样,CHAR和NCHAR也一样,一是数据库字符符,一是国家字符集。

转换字符集,数据库应该在RESTRICTED模式下

首先要确定修改后的字符集是不是修改前的超集,如果不是可能出现相同的代码点对应不同的字符,出现乱码的问题。

出现这个错误是 oracle 只支持从子集到超集的转变

那有什么方法可进行强制转换呢?

该指令会跳过子集与超集的检验,当然强制转换可能会造成数据的损坏,要谨慎使用!!

下面借助eygle的帖子执行。

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

Total System Global Area 1845493760 bytes

Fixed Size 2021568 bytes

Variable Size 452986688 bytes

Database Buffers 1375731712 bytes

Redo Buffers 14753792 bytes

Database mounted.

SQL> alter session set sql_trace=true;

Session altered.

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 INTERNAL_USE UTF8;

Database altered.

SQL>update props$ set VALUE$='UTF8' where

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

mysql zhs16gbk_更改Oracle字符集:把字符集ZHS16GBK换成UTF8相关推荐

  1. MySQL批量更改数据库表结构字符集

    1.先在对应的数据库上执行以下语句获取对应的需要更改的sql # 根据转换字符集 修改 utf8mb4 ---> utf8mb4_general_ci SELECT     CONCAT(    ...

  2. mysql创建的是拉丁_mysql 拉丁1 转换成 utf8

    本例子环境为centos 7.4 yum安装 mariadb 5.5.56 环境准备:创建latin1编码的库,表,数据 mysql --default-character-set=latin1 sh ...

  3. oracle更新编号的值,更改oracle数据库编码

    修改oracle 数据服务器编码 如何修改数据库oracle 的编码呢? 我使用的oracle的版本是: Oracle Database 11g Enterprise Edition Release ...

  4. oracle 迁库中文转问好,ORACLE数据库迁移(ZHS16GBK到UTF8)

    今天有人突然提出这么个问题让我解决.以前也有到过,直接alter system做的. 但是这次是就是要求ZHS16GBK改成UTF8,导致很多数据丢失. 分析一下:首先ZHS16GBK只支持中文和英文 ...

  5. mysql al32utf8_Oracle 11g更改字符集AL32UTF8为ZHS16GBK

    Oracle 9i更改字符集AL32UTF8为ZHS16GBKSQLgt; conn /as sysdba SQLgt; shutdown immediate; SQLgt; startup moun ...

  6. oracle 字符集 自造字,循序渐进Oracle:自定义字符集的使用、更改字符集的内部方式及字符集更改的案例...

    第3章  Oracle的字符集(3.9-3.11) Oracle全球支持(即Globalization Support)允许我们使用本地语言和格式来存储和检索数据.通过全球支持,Oracle可以支持多 ...

  7. aix oracle查看字符集,AIX下oracle 10g 修改字符集为ZHS16GBK

    Oracle 10g更改字符集AL32UTF8为ZHS16GBK 终端登录服务器执行下列: #su oralce $export ORACLE_SID=orcl $export ORACLE_HOME ...

  8. oracle数据库的字符集更改

    A.oracle server 端 字符集查询 select userenv('language') from dual 其中NLS_CHARACTERSET 为server端字符集 NLS_LANG ...

  9. 160505、oracle 修改字符集 修改为ZHS16GBK

    修改oracle字符集 方法/步骤 oracle数据库的字符集更改 A.oracle server 端 字符集查询 select userenv('language') from dual 其中NLS ...

最新文章

  1. 微软29岁员工年薪税后85W!竟然说自己活得很惨!网友:确实挺惨!
  2. 科普篇:贝叶斯网络中的置信度传播
  3. Linux Shell脚本Ldd命令原理及使用方法
  4. 快速创建springBoot
  5. 标题与文字的组合[摘]
  6. Ajax获取数据的流程
  7. db2 9.7 64位_2020年使用2016年的第一代9.7英寸 Ipad pro?
  8. java建立检索项语料库_sentilib_语料库项目_search模块的实现
  9. 关于键盘盲打的一些小技巧
  10. cesium导入kml文件
  11. 网络编程在线英英词典之注册模块实现(三)
  12. 简单二阶有源滤波电路分析
  13. 在淘宝做前端的这三年 — 第三年
  14. 点击编辑按钮,前端table表格行内指定td可修改。(table是动态生成的)
  15. python使用requests库爬取淘宝评论
  16. 产品经理与程序员之间的孽缘发展历程
  17. 禁止页面在浏览器中打开 只能在微信内核浏览器中打开
  18. 网络安全系列之二十六 EFS加密
  19. 计算机导论部分知识整理
  20. python numpy.arry, pytorch.Tensor及原生python中list相互转换

热门文章

  1. 成功解决使用node时,启动js文件抛出错误 events.js:377 throw er; // Unhandled ‘error‘ event ^Error: listen EA
  2. 福建宁德自闭症儿童家长:有爱,我们不孤独
  3. 实现双色球彩票功能(判断是否中奖)
  4. 如何将高电压和低电压结合在一起设计?
  5. 自学Java南京15K,包装三年工作经验,分享我的学习经验
  6. [mbot_teleop-1] process has died [pid 3237, exit code 127, cmd /home/arise/sources/catkin_ws/src/mbo
  7. 巨坑,常见的 update 语句很容易造成Bug
  8. 《伸手系列》第二集-oracle数据库“灾难性”数据恢复-(一)
  9. 信息安全与网络安全的异同点
  10. 如何区分Info与CoWoS封装?