oracle utf8字符集转gbk(转)

近日有同事在外面部署系统时,安装数据库时可能选择了UTF-8编码格式,导入insert语句时,一个汉字被认为三个字节,这是不行的。

结合上网搜到的资料,将oracle数据库的编码格式,从utf-8改为GBK后,一切正常了。

附:PLSQL执行记录:

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

Microsoft Windows [版本 6.0.6002]
版权所有 (C) 2006 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 9月 3 11:39:04 2012

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

SQL> conn / as sysdba
已连接。
SQL> SHUTDOWN IMMEDIATE
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>  startup mount;
ORACLE 例程已经启动。

Total System Global Area  778387456 bytes
Fixed Size                  1374808 bytes
Variable Size             377488808 bytes
Database Buffers          394264576 bytes
Redo Buffers                5259264 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 internal_use zhs16gbk;

数据库已更改。

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

Total System Global Area  778387456 bytes
Fixed Size                  1374808 bytes
Variable Size             377488808 bytes
Database Buffers          394264576 bytes
Redo Buffers                5259264 bytes
数据库装载完毕。
数据库已经打开。
SQL>

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

查看编码格式:

select userenv(‘language‘) from dual;
select * from nls_database_parameters

时间: 2024-10-09 09:33:44

oracle utf8字符集转gbk(转)的相关文章

oracle不同字符集导入导出(GBK导入UTF8)

因数据库迁移,需要将原oracle备份文件导入新的oracle数据库中,EXP导出后,IMP报错,发现字符串长度太长报错.查找后发现,原数据库为GBK字符集(oracle在varchar2类型中一个汉字占用两位),新数据库为UTF8字符集(一个汉子占用三位). 解决方法如下,将原数据库所有含varchar2的字段的长度批量修改. 修改分为两步,varchar2最长支持4000的长度,若carchar2长度存在超过2667(4000*2/3)的,可修改为CLOB类型,或者验证字段中最长的使用长度,

修改Oracle数据库字符集

Oracle数据库字符集在创建后原则上不能更改.如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换,或通过ALTER DATABASE CHARACTER SET语句修改字符集,但创建数据库后修改字符集是有限制的,只有新的字符集是当前字符集的超集时才能修改数据库字符集,例如UTF8是US7ASCII的超集,修改数据库字符集可使用 ALTER DATABASE CHARACTER SET UTF8 Oracle 字符集的查看和修改 一.什么是Oracle字符集 O

【体系结构,13】oracle的字符集详解

一.字符集的简单理解: 字符集: 字符与编码对应的表. 当软件有字符集,就是使用自己的字符集,如果软件没有字符集就使用OS字符集. 二.字符集的使用场合: 1.oracle有两种字符集:数据库字符集和国家字符集 .当安装数据库时选择了这两种字符集. 数据库字符集 的使用场合: (1)用来存储CHAR, VARCHAR2, CLOB, LONG等类型数据 (2)用来标示诸如表名.列名以及PL/SQL变量等 (3)用来存储SQL和PL/SQL程序单元等 国家字符集的使用场合: (1)用以存储NCHA

Oracle Database字符集(1)--案例分析

Oracle Database字符集(1)--案例分析 案例分析: 一次数据库导出(exp)案例分析 1)数据字符集 12:40:37 [email protected] prod>show parameter nls NAME                                 TYPE        VALUE ------------------------------------ ----------- ------------------------------ nls_l

【oracle】字符集、国家字符集及NLS_LANG运行库

************************************************************************   ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************   --unicode编码方案 --三个实施标准:utf-8,usc-2,utf-16 --oracle数据库字符集 --字符集c

使用UTF8字符集存储中文生僻字

使用UTF8字符集存储中文生僻字 一.相关学习BLOG https://www.cnblogs.com/jyzhao/p/8654412.html http://blog.itpub.net/781883/viewspace-1411259/ https://www.qqxiuzi.cn/bianma/zifuji.php https://blog.csdn.net/iteye_7853/article/details/82516888 二.需求详情:客户提出,关于氮卓斯汀变更为氮?斯汀,系统出

Oracle数据库字符集问题

Oracle数据库字符集涉及到三个方面: oracle  server端字符集 oracle  client端字符集 dmp文件字符集 首先需知道,影响数据库字符集最重要的是参数是NLS_LANG 格式  NLS_LANG = language_territory.charset 由三部分组成,语言.地域和字符集 Language: 指定服务器消息的语言, 影响提示信息是中文还是英文 Territory: 指定服务器的日期和数字格式, Charset:  指定字符集 所以,两个数据库之间的字符集

oracle数据库字符集的修改

本文摘自:http://blog.csdn.net/nsj820/article/details/65711051.改客户端字符集:通过WINDOWS的运行菜单运行Regedit,修改注册表 Start -> Run -> Rededit <-| Under registry Editor - > HKEY_LOCAL_MACHINE -> SOFTWARE ->ORACLE->KEY_XE->RIGHT WINDOW DOUBLE CLICK NLS_LA

Oracle Database字符集(2)--基本概念

Oracle Database字符集(2)--基本概念 四. 查看数据库字符集 涉及三方面的字符集, 1. oracel server端的字符集; 2. oracle client端的字符集; 3. dmp文件的字符集. 在做数据导入的时候,需要这三个字符集都一致才能正确导入. 4.1 查询oracle server端的字符集 有很多种方法可以查出oracle server端的字符集,比较直观的查询方法是以下这种: SQL> select userenv('language') from dua