oracle 导入sql文件 汉字乱码_在linux下导入.sql文件,数据库中文乱码

现象描述

我是在aix下面导入如下SQL语句时,数据库中显示乱码。

insert into CONFERENCE(CONFERENCEID,SUBCONFERENCEID,ACCESSNUMBER,ACCOUNTID,ALLOCATEDID,ALLOWVIDEOCONTROL,SCREENTYPE,SCREENSWITCHMODE,BOARDNUM,CANRECORD,CHARGEMODE,CONFERENCEMODE,CONFERENCESTATE,CONFERENCETYPE,CYCLETYPE,ENDTIME,ENTERPROMPT,FACTENDTIME,LANGUAGE,LEAVEPROMPT,LENGTH,LOCKSTATE,MEDIATYPES,MEMBERNOTIFY,MEMO,NEEDADDMEMOTOSMS,NEEDAUTOINVITE,NEEDAUTOKINESCOPE,NEEDAUTORECORD,NEEDINVITEPWD,NEEDPARTICIPATORLIMIT,ORGANIZATIONID,PERMITINVITE,PERMITKINESCOPE,PERMITRECORD,REALORGANIZATIONID,REASON,RECORDFILEPATH,RESERVESIZE,SCHEDULENOTIFY,SCHEDUSERMOBILE,SCHEDUSERNAME,CONFERENCESIZE,SPEAKSTATE,STARTTIME,SUBJECT,SUMMERTIME,TIMEZONE,UPDATENOTIFY,VOICERECORDSTATE,VOICETOPICPATH,VOICETOPICSTATE,EXT1,EXT2,EXT3) values(‘0000152972‘,2,‘25001‘,‘1‘,16,0,‘‘,‘‘,‘1270015060‘,0,‘scheduler‘,‘COMMON‘,‘Schedule‘,‘schedule‘,‘cycle‘,1238251500000,‘‘,1238251500000,‘zh_cn‘,‘‘,840,‘‘,‘video‘,1,‘‘,0,0,0,0,0,0,‘topOrganization‘,1,1,1,‘topOrganization‘,0,‘20090328/meet0000152972‘,3,1,‘‘,‘‘,3,1,1238201100000,‘周期视频会议‘,0,56,1,‘UnRecord‘,‘0000152972‘,‘UnRecord‘,null,null,null);

1.2 可能原因

1、插入的SQL语句中的字段包含中文,由于数据库字符集与操作系统字符集设置不同,导致数据库显示乱码。

2、从本地(不乱码)传到服务器上后就乱码,如果再导入数据的话就必然乱码,所以要解决传递文件的问题

1.3 处理步骤

以oracle用户登录数据库所在机器。 以sysdba用户连接数据库。

% sqlplus / as sysdba

检查数据库字符集参数“NLS_LANGUAGE”的值。

SQL> select value from nls_database_parameters where parameter=‘NLS_LANGUAGE‘;

显示参数值为“AMERICAN”。

VALUE

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

AMERICAN

检查数据库字符集参数“NLS_TERRITORY”的值。

SQL> select value from nls_database_parameters where parameter=‘NLS_TERRITORY‘;

显示参数值为“AMERICA”。

VALUE

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

AMERICA

检查数据库字符集参数“NLS_CHARACTERSET‘”的值。

SQL> select value from nls_database_parameters where parameter=‘NLS_CHARACTERSET‘;

显示参数值为“WE8MSWIN1252”。

VALUE

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

WE8MSWIN1252

根据在数据库查询的字符集参数,修改数据库所在机器操作系统的字符集“NLS_LANG”变量。

SQL> export NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252

“AMERICAN”、“AMERICA”、“WE8MSWIN1252”是3、4、5的查询结果。

原文:http://www.cnblogs.com/yingsong/p/4606566.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值